UNPKG

autotel

Version:
73 lines (70 loc) 2.6 kB
'use strict'; require('./chunk-UTZR7P7E.cjs'); require('./chunk-GML3FBOT.cjs'); require('./chunk-D5LMF53P.cjs'); require('./chunk-JSNUWSBH.cjs'); var chunkHZ3FYBJG_cjs = require('./chunk-HZ3FYBJG.cjs'); require('./chunk-563EL6O6.cjs'); require('./chunk-OC6X2VIN.cjs'); require('./chunk-CEAQK2QY.cjs'); require('./chunk-ZNMBW67B.cjs'); require('./chunk-IOYFAFHJ.cjs'); require('./chunk-CMNGGTQL.cjs'); require('./chunk-CU6IDACR.cjs'); require('./chunk-6S5RUKU3.cjs'); require('./chunk-YS6C2YJE.cjs'); require('./chunk-VH77IPJN.cjs'); require('./chunk-FU6R566Y.cjs'); var chunkESLWRGAG_cjs = require('./chunk-ESLWRGAG.cjs'); require('./chunk-YREV3LGG.cjs'); require('./chunk-JEQ2X3Z6.cjs'); var api = require('@opentelemetry/api'); function Trace(nameOrOptions, maybeOptions) { const name = typeof nameOrOptions === "string" ? nameOrOptions : nameOrOptions?.name; return function(originalMethod, context) { const methodName = String(context.name); const methodStr = originalMethod?.toString() || ""; const isAsync = originalMethod && (originalMethod.constructor?.name === "AsyncFunction" || methodStr.trim().startsWith("async ") || methodStr.includes("[native code]") && methodStr.includes("async") || // Fallback: if function has async in its string representation /async\s+/.test(methodStr)); if (!isAsync) { return originalMethod; } const spanName = name || methodName; return async function(...args) { const config = chunkESLWRGAG_cjs.getConfig(); const tracer = config.tracer; return tracer.startActiveSpan(spanName, async (span) => { try { const ctx = chunkHZ3FYBJG_cjs.createTraceContext(span); const originalCtx = this.ctx; try { this.ctx = ctx; const result = await originalMethod.apply(this, args); span.setStatus({ code: api.SpanStatusCode.OK }); return result; } finally { if (originalCtx === void 0) { delete this.ctx; } else { this.ctx = originalCtx; } } } catch (error) { span.setStatus({ code: api.SpanStatusCode.ERROR, message: error instanceof Error ? error.message : "Unknown error" }); span.recordException( error instanceof Error ? error : new Error(String(error)) ); throw error; } finally { span.end(); } }); }; }; } exports.Trace = Trace; //# sourceMappingURL=decorators.cjs.map //# sourceMappingURL=decorators.cjs.map