UNPKG

@genexus/web-standard-functions

Version:

GeneXus JavaScript standard functions library for web generators

49 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.activeOpenTelemetry = void 0; const instrumentation_1 = require("@opentelemetry/instrumentation"); const sdk_trace_web_1 = require("@opentelemetry/sdk-trace-web"); const auto_instrumentations_web_1 = require("@opentelemetry/auto-instrumentations-web"); const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http"); const resources_1 = require("@opentelemetry/resources"); const semantic_conventions_1 = require("@opentelemetry/semantic-conventions"); const activeOpenTelemetry = (serviceName, token, endpoint) => { const provider = new sdk_trace_web_1.WebTracerProvider({ resource: new resources_1.Resource({ [semantic_conventions_1.ATTR_SERVICE_NAME]: serviceName }) }); let headers = {}; if (endpoint.toLowerCase().includes("lightstep")) { headers = { "lightstep-access-token": token }; } else if (endpoint.toLowerCase().includes("signoz")) { headers = { "signoz-access-token": token }; } else { headers = { "access-token": token }; } provider.addSpanProcessor(new sdk_trace_web_1.BatchSpanProcessor(new exporter_trace_otlp_http_1.OTLPTraceExporter({ url: endpoint, headers: headers }))); provider.register(); (0, instrumentation_1.registerInstrumentations)({ instrumentations: [ (0, auto_instrumentations_web_1.getWebAutoInstrumentations)({ "@opentelemetry/instrumentation-document-load": {}, "@opentelemetry/instrumentation-user-interaction": {}, "@opentelemetry/instrumentation-fetch": {}, "@opentelemetry/instrumentation-xml-http-request": {} }) ] }); }; exports.activeOpenTelemetry = activeOpenTelemetry; //# sourceMappingURL=openTelemetry.js.map