Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
39 lines
898 B
Plaintext
39 lines
898 B
Plaintext
import { iife } from "./tracing-utils.js";
|
|
import { npmVersion } from "./version.js";
|
|
let otel;
|
|
let rawTracer;
|
|
const tracer = {
|
|
startActiveSpan(name, fn) {
|
|
if (!otel) {
|
|
return fn();
|
|
}
|
|
if (!rawTracer) {
|
|
rawTracer = otel.trace.getTracer("drizzle-orm", npmVersion);
|
|
}
|
|
return iife(
|
|
(otel2, rawTracer2) => rawTracer2.startActiveSpan(
|
|
name,
|
|
(span) => {
|
|
try {
|
|
return fn(span);
|
|
} catch (e) {
|
|
span.setStatus({
|
|
code: otel2.SpanStatusCode.ERROR,
|
|
message: e instanceof Error ? e.message : "Unknown error"
|
|
// eslint-disable-line no-instanceof/no-instanceof
|
|
});
|
|
throw e;
|
|
} finally {
|
|
span.end();
|
|
}
|
|
}
|
|
),
|
|
otel,
|
|
rawTracer
|
|
);
|
|
}
|
|
};
|
|
export {
|
|
tracer
|
|
};
|
|
//# sourceMappingURL=tracing.js.map |