summaryrefslogtreecommitdiff
path: root/src/frontend/utils/telemetry/SessionIdProcessor.ts
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
committerSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
commit82e03978b89938219958032efb1448cc76baa181 (patch)
tree626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/frontend/utils/telemetry/SessionIdProcessor.ts
Initial snapshot - OpenTelemetry demo 2.1.3 -f
Diffstat (limited to 'src/frontend/utils/telemetry/SessionIdProcessor.ts')
-rw-r--r--src/frontend/utils/telemetry/SessionIdProcessor.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/frontend/utils/telemetry/SessionIdProcessor.ts b/src/frontend/utils/telemetry/SessionIdProcessor.ts
new file mode 100644
index 0000000..cd89c0b
--- /dev/null
+++ b/src/frontend/utils/telemetry/SessionIdProcessor.ts
@@ -0,0 +1,27 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+import { Context } from "@opentelemetry/api";
+import { ReadableSpan, Span, SpanProcessor } from "@opentelemetry/sdk-trace-web";
+import SessionGateway from "../../gateways/Session.gateway";
+import { AttributeNames } from "../enums/AttributeNames";
+
+const { userId } = SessionGateway.getSession();
+
+export class SessionIdProcessor implements SpanProcessor {
+ forceFlush(): Promise<void> {
+ return Promise.resolve();
+ }
+
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ onStart(span: Span, parentContext: Context): void {
+ span.setAttribute(AttributeNames.SESSION_ID, userId);
+ }
+
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
+ onEnd(span: ReadableSpan): void {}
+
+ shutdown(): Promise<void> {
+ return Promise.resolve();
+ }
+}