UNPKG

@graphql-hive/plugin-opentelemetry

Version:
44 lines (40 loc) 1.29 kB
'use strict'; var api = require('@opentelemetry/api'); const defaultDelegate = { getActiveContext: () => api.context.active(), getExecutionRequestContext: () => api.context.active(), getHttpContext: () => api.context.active(), getOperationContext: () => api.context.active(), tracer: void 0 }; let delegate = defaultDelegate; const hive = { getActiveContext: (payload) => delegate.getActiveContext(payload), getExecutionRequestContext: (executionRequest) => delegate.getExecutionRequestContext(executionRequest), getHttpContext: (request) => delegate.getHttpContext(request), getOperationContext: (context2) => delegate.getOperationContext(context2), get tracer() { return delegate.tracer; }, setPluginUtils: (utils, log) => { if (delegate == defaultDelegate) { delegate = utils; return true; } else { log?.warn( "OpenTelemetry plugin's utils are already registered. This is a no-op" ); return false; } }, disable() { delegate = defaultDelegate; } }; exports.hive = hive; Object.keys(api).forEach(function (k) { if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, { enumerable: true, get: function () { return api[k]; } }); });