regression: Tracing times (#33828)

pull/33847/head
Kevin Aleman 1 year ago committed by GitHub
parent 1429d8fe1e
commit 9b600e1496
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 23
      packages/tracing/src/index.ts

@ -2,6 +2,7 @@ import { context, propagation, SpanStatusCode, trace } from '@opentelemetry/api'
import type { Span, SpanOptions, Tracer } from '@opentelemetry/api';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
import { NodeSDK } from '@opentelemetry/sdk-node';
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
import type { MongoClient } from 'mongodb';
import { initDatabaseTracing } from './traceDatabaseCalls';
@ -23,6 +24,7 @@ export const startTracing = ({ service, db }: { service: string; db: MongoClient
traceExporter: exporter,
instrumentations: [],
serviceName: service,
spanProcessors: [new BatchSpanProcessor(exporter)],
});
sdk.start();
@ -49,16 +51,20 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>(
try {
const result = fn(span);
if (result instanceof Promise) {
result.catch((err) => {
span.recordException(err);
span.setStatus({
code: SpanStatusCode.ERROR,
message: err.message,
});
});
result
.catch((err) => {
span.recordException(err);
span.setStatus({
code: SpanStatusCode.ERROR,
message: err.message,
});
})
.finally(() => span.end());
return result;
}
span.end();
return result;
} catch (err: any) {
span.recordException(err);
@ -66,9 +72,8 @@ export function tracerSpan<F extends (span?: Span) => ReturnType<F>>(
code: SpanStatusCode.ERROR,
message: err.message,
});
throw err;
} finally {
span.end();
throw err;
}
};

Loading…
Cancel
Save