Wait until config is loaded to load otel
This commit is contained in:
parent
ec88907981
commit
48493a96e1
2 changed files with 16 additions and 3 deletions
|
@ -23,6 +23,7 @@ import * as Sentry from "@sentry/react";
|
|||
|
||||
import { getUrlParams } from "./UrlParams";
|
||||
import { Config } from "./config/Config";
|
||||
import { ElementCallOpenTelemetry } from "./otel/otel";
|
||||
|
||||
enum LoadState {
|
||||
None,
|
||||
|
@ -35,6 +36,7 @@ class DependencyLoadStates {
|
|||
// olm: LoadState = LoadState.None;
|
||||
config: LoadState = LoadState.None;
|
||||
sentry: LoadState = LoadState.None;
|
||||
openTelemetry: LoadState = LoadState.None;
|
||||
|
||||
allDepsAreLoaded() {
|
||||
return !Object.values(this).some((s) => s !== LoadState.Loaded);
|
||||
|
@ -209,6 +211,15 @@ export class Initializer {
|
|||
this.loadStates.sentry = LoadState.Loaded;
|
||||
}
|
||||
|
||||
// OpenTelemetry (also only after config loaded)
|
||||
if (
|
||||
this.loadStates.openTelemetry === LoadState.None &&
|
||||
this.loadStates.config === LoadState.Loaded
|
||||
) {
|
||||
ElementCallOpenTelemetry.globalInit();
|
||||
this.loadStates.openTelemetry = LoadState.Loaded;
|
||||
}
|
||||
|
||||
if (this.loadStates.allDepsAreLoaded()) {
|
||||
// resolve if there is no dependency that is not loaded
|
||||
resolve();
|
||||
|
|
|
@ -39,6 +39,11 @@ export class ElementCallOpenTelemetry {
|
|||
private _tracer: Tracer;
|
||||
private _anonymity: Anonymity;
|
||||
|
||||
static globalInit(): void {
|
||||
settingsBus.on("opt-in-analytics", recheckOTelEnabledStatus);
|
||||
recheckOTelEnabledStatus(getSetting("opt-in-analytics", false));
|
||||
}
|
||||
|
||||
static get instance(): ElementCallOpenTelemetry {
|
||||
return sharedInstance;
|
||||
}
|
||||
|
@ -93,6 +98,3 @@ function recheckOTelEnabledStatus(optInAnalayticsEnabled: boolean): void {
|
|||
sharedInstance = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
settingsBus.on("opt-in-analytics", recheckOTelEnabledStatus);
|
||||
recheckOTelEnabledStatus(getSetting("opt-in-analytics", false));
|
||||
|
|
Loading…
Add table
Reference in a new issue