TELEMETRY\_PROPERTIES
Home > @gooddata/sdk-pluggable-application-model > TELEMETRY_PROPERTIES
TELEMETRY_PROPERTIES variable
This API is provided as an alpha preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Canonical, single-source-of-truth allocation of the shell's telemetry property slots, so a given (scope, index) means the same thing everywhere it is reported.
Signature:
TELEMETRY_PROPERTIES: {
readonly deploymentId: {
readonly index: 1;
readonly name: "DeploymentId";
readonly scope: "visit";
};
readonly organizationId: {
readonly index: 2;
readonly name: "OrganizationId";
readonly scope: "visit";
};
readonly sessionId: {
readonly index: 3;
readonly name: "SessionId";
readonly scope: "visit";
};
readonly revHash: {
readonly index: 4;
readonly name: "RevHash";
readonly scope: "visit";
};
readonly isExport: {
readonly index: 5;
readonly name: "isExport";
readonly scope: "visit";
};
readonly hostReactVersion: {
readonly index: 6;
readonly name: "HostReactVersion";
readonly scope: "visit";
};
readonly hostSdkVersion: {
readonly index: 7;
readonly name: "HostSdkVersion";
readonly scope: "visit";
};
readonly multivalue: {
readonly index: 1;
readonly name: "Multivalue";
readonly scope: "page";
};
readonly statsValue: {
readonly index: 2;
readonly name: "StatsValue";
readonly scope: "page";
};
readonly moduleReactVersion: {
readonly index: 3;
readonly name: "ModuleReactVersion";
readonly scope: "page";
};
readonly moduleSdkVersion: {
readonly index: 4;
readonly name: "ModuleSdkVersion";
readonly scope: "page";
};
}
Remarks
The shell's analytics backend aggregates properties by (scope, index), not by the name passed at call time — so the index is the contract, and slots must be sourced from here rather than assigned by array position.
This registry is **shell-owned**: only the host shell consumes it when serializing telemetry. Pluggable modules never reference it — they forward transport-neutral telemetry (see the identifiers / stats groups on IPluggableAppTelemetryEventData) and the host alone maps that onto the packed page slots below. (The legacy standalone trackers still read it directly until standalone mode is removed.)
Page slots: - Multivalue (1) — packed key1=v1,… of the event's sensitive identifiers (the shell hashes them). - StatsValue (2) — packed key1=v1,… of the event's contextual stats/metrics (verbatim). - ModuleReactVersion / ModuleSdkVersion (3/4) — the emitting module's runtime versions.
Both packed values are bounded to ~200 chars by the backend. Module React / SDK versions use "page" scope (not "visit"): the active pluggable module can change within a session as the user navigates between apps, so the version is an action-level attribute that must ride only the event it describes. (The host's own React / SDK versions are constant per session, so they stay in "visit" scope at 6/7.)