Skip to content
Snippets Groups Projects
Unverified Commit 9b600e14 authored by Kevin Aleman's avatar Kevin Aleman Committed by GitHub
Browse files

regression: Tracing times (#33828)

parent 1429d8fe
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,7 @@ import { context, propagation, SpanStatusCode, trace } from '@opentelemetry/api' ...@@ -2,6 +2,7 @@ import { context, propagation, SpanStatusCode, trace } from '@opentelemetry/api'
import type { Span, SpanOptions, Tracer } from '@opentelemetry/api'; import type { Span, SpanOptions, Tracer } from '@opentelemetry/api';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
import { NodeSDK } from '@opentelemetry/sdk-node'; import { NodeSDK } from '@opentelemetry/sdk-node';
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
import type { MongoClient } from 'mongodb'; import type { MongoClient } from 'mongodb';
import { initDatabaseTracing } from './traceDatabaseCalls'; import { initDatabaseTracing } from './traceDatabaseCalls';
...@@ -23,6 +24,7 @@ export const startTracing = ({ service, db }: { service: string; db: MongoClient ...@@ -23,6 +24,7 @@ export const startTracing = ({ service, db }: { service: string; db: MongoClient
traceExporter: exporter, traceExporter: exporter,
instrumentations: [], instrumentations: [],
serviceName: service, serviceName: service,
spanProcessors: [new BatchSpanProcessor(exporter)],
}); });
sdk.start(); sdk.start();
...@@ -49,16 +51,20 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>( ...@@ -49,16 +51,20 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>(
try { try {
const result = fn(span); const result = fn(span);
if (result instanceof Promise) { if (result instanceof Promise) {
result.catch((err) => { result
span.recordException(err); .catch((err) => {
span.setStatus({ span.recordException(err);
code: SpanStatusCode.ERROR, span.setStatus({
message: err.message, code: SpanStatusCode.ERROR,
}); message: err.message,
}); });
})
.finally(() => span.end());
return result; return result;
} }
span.end();
return result; return result;
} catch (err: any) { } catch (err: any) {
span.recordException(err); span.recordException(err);
...@@ -66,9 +72,8 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>( ...@@ -66,9 +72,8 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>(
code: SpanStatusCode.ERROR, code: SpanStatusCode.ERROR,
message: err.message, message: err.message,
}); });
throw err;
} finally {
span.end(); span.end();
throw err;
} }
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment