From d4e59f22c9f409c32a9d0d0e2a60138ca6426a83 Mon Sep 17 00:00:00 2001 From: mervinyan Date: Tue, 28 Feb 2023 23:26:29 -0500 Subject: [PATCH] =?UTF-8?q?[Frontend]=20Use=20browserDetector=20to=20popul?= =?UTF-8?q?ate=20browser=20information=20into=20frontend=20tel=E2=80=A6=20?= =?UTF-8?q?(#760)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 ++ src/frontend/utils/telemetry/FrontendTracer.ts | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38ab2006f9..b57750b850 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ tls_certificate_check and bump to OTP-25 ([#756](https://github.com/open-telemetry/opentelemetry-demo/pull/756)) * Bump up OTEL Java Agent version to 1.23.0 ([#757](https://github.com/open-telemetry/opentelemetry-demo/pull/757)) +* Use browserDetector to populate browser info to frontend-web telemetry +([#760](https://github.com/open-telemetry/opentelemetry-demo/pull/760)) ## v0.1.0 diff --git a/src/frontend/utils/telemetry/FrontendTracer.ts b/src/frontend/utils/telemetry/FrontendTracer.ts index e8bf0090a2..2779164c90 100644 --- a/src/frontend/utils/telemetry/FrontendTracer.ts +++ b/src/frontend/utils/telemetry/FrontendTracer.ts @@ -3,7 +3,7 @@ import { WebTracerProvider } from '@opentelemetry/sdk-trace-web'; import { SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base'; import { registerInstrumentations } from '@opentelemetry/instrumentation'; import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web'; -import { Resource } from '@opentelemetry/resources'; +import { Resource, detectResources, browserDetector } from '@opentelemetry/resources'; import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; @@ -13,10 +13,14 @@ const { NEXT_PUBLIC_OTEL_SERVICE_NAME = '', NEXT_PUBLIC_OTEL_EXPORTER_OTLP_TRACE const FrontendTracer = async (collectorString: string) => { const { ZoneContextManager } = await import('@opentelemetry/context-zone'); + let resource = new Resource({ + [SemanticResourceAttributes.SERVICE_NAME]: NEXT_PUBLIC_OTEL_SERVICE_NAME, + }); + + const detectedResources = await detectResources({detectors:[browserDetector]}); + resource = resource.merge(detectedResources); const provider = new WebTracerProvider({ - resource: new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: NEXT_PUBLIC_OTEL_SERVICE_NAME, - }), + resource }); provider.addSpanProcessor(