UNPKG

traceapm

Version:

SDK for OpenTelemetry auto-instrumentation and OTLP export for Node.js apps.

19 lines (15 loc) 673 B
const { metrics, context, trace } = require('@opentelemetry/api'); const meter = metrics.getMeter('custom-metrics'); const httpRequestDuration = meter.createHistogram('http_request_duration_custom', { description: 'Custom HTTP request duration with trace and span IDs', }); function recordHttpRequestDuration(durationMs, attributes = {}) { const currentSpan = trace.getSpan(context.active()); if (currentSpan) { const spanContext = currentSpan.spanContext(); attributes.trace_id = spanContext.traceId; attributes.span_id = spanContext.spanId; } httpRequestDuration.record(durationMs, attributes); } module.exports = { recordHttpRequestDuration };