UNPKG

@sentry/node

Version:

Sentry Node SDK using OpenTelemetry for performance instrumentation

32 lines (29 loc) 1.01 kB
import { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation'; import { ActiveTracingHelper } from './active-tracing-helper.js'; import { NAME, VERSION, MODULE_NAME, SUPPORTED_MODULE_VERSIONS } from './constants.js'; import { setGlobalTracingHelper, clearGlobalTracingHelper, getGlobalTracingHelper } from './global.js'; class PrismaInstrumentation extends InstrumentationBase { constructor(config = {}) { super(NAME, VERSION, config); } init() { const module = new InstrumentationNodeModuleDefinition(MODULE_NAME, SUPPORTED_MODULE_VERSIONS); return [module]; } enable() { const config = this._config; setGlobalTracingHelper( new ActiveTracingHelper({ ignoreSpanTypes: config.ignoreSpanTypes ?? [] }) ); } disable() { clearGlobalTracingHelper(); } isEnabled() { return getGlobalTracingHelper() !== void 0; } } export { PrismaInstrumentation }; //# sourceMappingURL=instrumentation.js.map