Ember.Instrumentation Namespace packages/ember-metal/lib/instrumentation.js:3
PRIVATE
Defined in: packages/ember-metal/lib/instrumentation.js:3
Module: ember
The purpose of the Ember Instrumentation module is to provide efficient, general-purpose instrumentation for Ember.
Subscribe to a listener by using Ember.subscribe
:
1 2 3 4 5 6 7 8 9 |
Ember.subscribe("render", { before: function(name, timestamp, payload) { }, after: function(name, timestamp, payload) { } }); |
If you return a value from the before
callback, that same
value will be passed as a fourth parameter to the after
callback.
Instrument a block of code by using Ember.instrument
:
1 2 3 |
Ember.instrument("render.handlebars", payload, function() { // rendering logic }, binding); |
Event names passed to Ember.instrument
are namespaced
by periods, from more general to more specific. Subscribers
can listen for events by whatever level of granularity they
are interested in.
In the above example, the event is render.handlebars
,
and the subscriber listened for all events beginning with
render
. It would receive callbacks for events named
render
, render.handlebars
, render.container
, or
even render.handlebars.layout
.
instrument
(name, _payload, callback, binding)
private
Notifies event's subscribers, calls before
and after
hooks.
reset
private
Resets Ember.Instrumentation
by flushing list of subscribers.
subscribe
(pattern, object)
Subscriber
private
Subscribes to a particular event or instrumented block of code.
Parameters:
- pattern [String]
- Namespaced event name.
- object [Object]
- Before and After hooks.
Returns:
- Subscriber
unsubscribe
(subscriber)
private
Unsubscribes from a particular event or instrumented block of code.
Parameters:
- subscriber [Object]