Classes
- BackgroundQueue
This class enables pending callbacks to fire all at once, on a synchronized schedule instead of one by one.
- Schema
The class allows inheriting classes to log events based on a sampling rate if sampling is enabled.
Methods
enqueue(callback)static
#
Add a pending callback to be flushed at a later time by the background queue.
Parameters:
| Name | Type | Description |
|---|---|---|
callback |
function | to enqueue and run when the queue is processed |
- Source:
Returns:
undefined
getUserEditCountBucket(editCount) → {string|null}static
#
null}static
#
Provide the user's edit count as a low-granularity bucket name.
Parameters:
| Name | Type | Description |
|---|---|---|
editCount |
number
|
null
|
User edit count, or null for anonymous performers. |
- Source:
Returns:
null for anonymous performers.
Do not use this value in conjunction with other edit count bucketing, or you will deanonymize users to some degree.
- Type
-
string
|
null
logEvent(schemaName, eventData) → {jQuery.Promise}static
#
Construct and transmit to a remote server a record of some event having occurred. Events are represented as JavaScript objects that conform to a JSON Schema. The schema describes the properties the event object may (or must) contain and their type. This method represents the public client-side API of EventLogging.
Parameters:
| Name | Type | Description |
|---|---|---|
schemaName |
string | Canonical schema name. |
eventData |
Object | Event object. |
- Source:
Returns:
jQuery Promise object for the logging call.
- Type
- jQuery.Promise
Construct and transmit to a remote server a record of some event having occurred.
logFailure(schemaName, errorCode)static
#
Increment the error count in statsd for this schema.
Should be called instead of logEvent in case of an error.
Parameters:
| Name | Type | Description |
|---|---|---|
schemaName |
string | |
errorCode |
string |
- Source:
pageviewInSample(populationSize) → {boolean}static
#
Determine whether the current event is sampled given a sampling ratio per pageview.
Parameters:
| Name | Type | Description |
|---|---|---|
populationSize |
number | One in how many should be included. 0 means nobody, 1 is 100%, 2 is 50%, etc. |
- Source:
Returns:
- Type
- boolean
Determine whether the current event is sampled given a sampling ratio per pageview.
sendBeacon(url)static
#
Make a "fire and forget" HTTP request to a specified URL.
In older browsers that lack the Beacon API (navigator.sendBeacon),
this falls back to a detached Image request.
Parameters:
| Name | Type | Description |
|---|---|---|
url |
string | URL to request from the server. |
- Source:
sessionInSample(populationSize) → {boolean}static
#
Determine whether the current sessionId is sampled given a sampling ratio. This method is deterministic given same sampling rate and sessionId, so sampling is sticky given a session and a sampling rate
Parameters:
| Name | Type | Description |
|---|---|---|
populationSize |
number | One in how many should be included. 0 means nobody, 1 is 100%, 2 is 50%, etc. |
- Source:
Returns:
- Type
- boolean