From 82e03978b89938219958032efb1448cc76baa181 Mon Sep 17 00:00:00 2001 From: Saumit Date: Sat, 27 Sep 2025 02:14:26 +0530 Subject: Initial snapshot - OpenTelemetry demo 2.1.3 -f --- src/frontend/utils/telemetry/SessionIdProcessor.ts | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/frontend/utils/telemetry/SessionIdProcessor.ts (limited to 'src/frontend/utils/telemetry/SessionIdProcessor.ts') 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 { + 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 { + return Promise.resolve(); + } +} -- cgit v1.2.3