@datadog/browser-logs
Version:
37 lines • 1.6 kB
JavaScript
import { globalObject, willSyntheticsInjectRum, SKIPPED } from '@datadog/browser-core';
export function startRUMInternalContext(hooks) {
const browserWindow = globalObject;
hooks.register(0 /* HookNames.Assemble */, ({ startTime }) => {
const internalContext = getRUMInternalContext(startTime);
if (!internalContext) {
return SKIPPED;
}
return internalContext;
});
hooks.register(1 /* HookNames.AssembleTelemetry */, ({ startTime }) => {
var _a, _b;
const internalContext = getRUMInternalContext(startTime);
if (!internalContext) {
return SKIPPED;
}
return {
application: { id: internalContext.application_id },
view: { id: (_a = internalContext.view) === null || _a === void 0 ? void 0 : _a.id },
action: { id: (_b = internalContext.user_action) === null || _b === void 0 ? void 0 : _b.id },
};
});
function getRUMInternalContext(startTime) {
const willSyntheticsInjectRumResult = willSyntheticsInjectRum();
const rumSource = willSyntheticsInjectRumResult ? browserWindow.DD_RUM_SYNTHETICS : browserWindow.DD_RUM;
const rumContext = getInternalContextFromRumGlobal(startTime, rumSource);
if (rumContext) {
return rumContext;
}
}
function getInternalContextFromRumGlobal(startTime, rumGlobal) {
if (rumGlobal && rumGlobal.getInternalContext) {
return rumGlobal.getInternalContext(startTime);
}
}
}
//# sourceMappingURL=rumInternalContext.js.map