drizzle-orm
Version:
Drizzle ORM package for SQL databases
39 lines • 898 B
JavaScript
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