Struct xpcom::interfaces::nsITelemetry [] [src]

#[repr(C)]
pub struct nsITelemetry { /* fields omitted */ }

interface nsITelemetry : nsISupports

Methods

impl nsITelemetry
[src]

[src]

Cast this nsITelemetry to one of its base interfaces.

impl nsITelemetry
[src]

HISTOGRAM_EXPONENTIAL: i64 = 0
/**
   * Histogram types:
   * HISTOGRAM_EXPONENTIAL - buckets increase exponentially
   * HISTOGRAM_LINEAR - buckets increase linearly
   * HISTOGRAM_BOOLEAN - For storing 0/1 values
   * HISTOGRAM_FLAG - For storing a single value; its count is always == 1.
   * HISTOGRAM_COUNT - For storing counter values without bucketing.
   * HISTOGRAM_CATEGORICAL - For storing enumerated values by label.
   */

HISTOGRAM_LINEAR: i64 = 1

HISTOGRAM_BOOLEAN: i64 = 2

HISTOGRAM_FLAG: i64 = 3

HISTOGRAM_COUNT: i64 = 4

HISTOGRAM_CATEGORICAL: i64 = 5

SCALAR_TYPE_COUNT: i64 = 0
/**
   * Scalar types:
   * SCALAR_TYPE_COUNT - for storing a numeric value
   * SCALAR_TYPE_STRING - for storing a string value
   * SCALAR_TYPE_BOOLEAN - for storing a boolean value
   */

SCALAR_TYPE_STRING: i64 = 1

SCALAR_TYPE_BOOLEAN: i64 = 2

DATASET_RELEASE_CHANNEL_OPTOUT: i64 = 0
/**
   * Dataset types:
   * DATASET_RELEASE_CHANNEL_OPTOUT - the basic dataset that is on-by-default on all channels
   * DATASET_RELEASE_CHANNEL_OPTIN - the extended dataset that is opt-in on release,
   *                                 opt-out on pre-release channels.
   */

DATASET_RELEASE_CHANNEL_OPTIN: i64 = 1

[src]

/**
   * The amount of time, in milliseconds, that the last session took
   * to shutdown.  Reads as 0 to indicate failure.
   */

readonly attribute uint32_t lastShutdownDuration;

[src]

/**
   * The number of failed profile lock attempts that have occurred prior to
   * successfully locking the profile
   */

readonly attribute uint32_t failedProfileLockCount;

[src]

/**
   * A number representing the highest number of concurrent threads
   * reached during this session.
   */

readonly attribute uint32_t maximalNumberOfConcurrentThreads;

[src]

void captureStack (in ACString name);

[src]

/**
   * A flag indicating if Telemetry can record base data (FHR data). This is true if the
   * FHR data reporting service or self-support are enabled.
   *
   * In the unlikely event that adding a new base probe is needed, please check the data
   * collection wiki at https://wiki.mozilla.org/Firefox/Data_Collection and talk to the
   * Telemetry team.
   */

attribute boolean canRecordBase;

[src]

/**
   * A flag indicating if Telemetry can record base data (FHR data). This is true if the
   * FHR data reporting service or self-support are enabled.
   *
   * In the unlikely event that adding a new base probe is needed, please check the data
   * collection wiki at https://wiki.mozilla.org/Firefox/Data_Collection and talk to the
   * Telemetry team.
   */

attribute boolean canRecordBase;

[src]

/**
   * A flag indicating if Telemetry is allowed to record extended data. Returns false if
   * the user hasn't opted into "extended Telemetry" on the Release channel, when the
   * user has explicitly opted out of Telemetry on Nightly/Aurora/Beta or if manually
   * set to false during tests.
   *
   * Set this to false in tests to disable gathering of extended telemetry statistics.
   */

attribute boolean canRecordExtended;

[src]

/**
   * A flag indicating if Telemetry is allowed to record extended data. Returns false if
   * the user hasn't opted into "extended Telemetry" on the Release channel, when the
   * user has explicitly opted out of Telemetry on Nightly/Aurora/Beta or if manually
   * set to false during tests.
   *
   * Set this to false in tests to disable gathering of extended telemetry statistics.
   */

attribute boolean canRecordExtended;

[src]

/**
   * A flag indicating whether Telemetry is recording release data, which is a
   * smallish subset of our usage data that we're prepared to handle from our
   * largish release population.
   *
   * This is true most of the time.
   *
   * This does not indicate whether Telemetry will send any data. That is
   * governed by user preference and other mechanisms.
   *
   * You may use this to determine if it's okay to record your data.
   */

readonly attribute boolean canRecordReleaseData;

[src]

/**
   * A flag indicating whether Telemetry is recording prerelease data, which is
   * a largish amount of usage data that we're prepared to handle from our
   * smallish pre-release population.
   *
   * This is true on pre-release branches of Firefox.
   *
   * This does not indicate whether Telemetry will send any data. That is
   * governed by user preference and other mechanisms.
   *
   * You may use this to determine if it's okay to record your data.
   */

readonly attribute boolean canRecordPrereleaseData;

[src]

/**
   * A flag indicating whether Telemetry can submit official results (for base or extended
   * data). This is true on official, non-debug builds with built in support for Mozilla
   * Telemetry reporting.
   */

readonly attribute boolean isOfficialTelemetry;

[src]

/**
   * Enable/disable recording for this histogram at runtime.
   * Recording is enabled by default, unless listed at kRecordingInitiallyDisabledIDs[].
   * Name must be a valid Histogram identifier, otherwise an assertion will be triggered.
   *
   * @param id - unique identifier from histograms.json
   * @param enabled - whether or not to enable recording from now on.
   */

void setHistogramRecordingEnabled (in ACString id, in boolean enabled);

[src]

/**
   * Read data from the previous run. After the callback is called, the last
   * shutdown time is available in lastShutdownDuration and any late
   * writes in lateWrites.
   */

void asyncFetchTelemetryData (in nsIFetchTelemetryDataCallback aCallback);

[src]

/**
   * Return the number of milliseconds since process start using monotonic
   * timestamps (unaffected by system clock changes).
   * @throws NS_ERROR_NOT_AVAILABLE if TimeStamp doesn't have the data.
   */

double msSinceProcessStart ();

[src]

/**
   * Time since the system wide epoch. This is not a monotonic timer but
   * can be used across process boundaries.
   */

double msSystemNow ();

[src]

/**
   * Resets all the stored scalars. This is intended to be only used in tests.
   */

void clearScalars ();

[src]

/**
   * Immediately sends any Telemetry batched on this process to the parent
   * process. This is intended only to be used on process shutdown.
   */

void flushBatchedChildTelemetry ();

[src]

/**
   * Enable recording of events in a category.
   * Events default to recording disabled. This allows to toggle recording for all events
   * in the specified category.
   *
   * @param aCategory The category name.
   * @param aEnabled Whether recording is enabled for events in that category.
   */

void setEventRecordingEnabled (in ACString aCategory, in boolean aEnabled);

[src]

/**
   * Resets all the stored events. This is intended to be only used in tests.
   */

void clearEvents ();

Methods from Deref<Target = nsISupports>

[src]

Cast this nsISupports to one of its base interfaces.

[src]

void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);

[src]

[noscript,notxpcom] nsrefcnt AddRef ();

[src]

[noscript,notxpcom] nsrefcnt Release ();

Trait Implementations

impl XpCom for nsITelemetry
[src]

IID: nsIID = nsID(658320848, 27747, 18266, [184, 100, 203, 101, 22, 10, 25, 9])

[src]

Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more

impl RefCounted for nsITelemetry
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsITelemetry
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.