UNPKG

@ones-op/node-host

Version:
38 lines (37 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sdk = void 0; const config_1 = require("./config"); const logger_1 = require("./logger"); const exporter_trace_otlp_grpc_1 = require("@opentelemetry/exporter-trace-otlp-grpc"); const resources_1 = require("@opentelemetry/resources"); const sdk_node_1 = require("@opentelemetry/sdk-node"); const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node"); const semantic_conventions_1 = require("@opentelemetry/semantic-conventions"); const utils_1 = require("./utils"); const options = { resource: new resources_1.Resource({ [semantic_conventions_1.ATTR_SERVICE_NAME]: '@ones-open/node-host', [semantic_conventions_1.ATTR_SERVICE_VERSION]: (0, utils_1.getHashJSON)().hash, }), sampler: new sdk_trace_node_1.ParentBasedSampler({ root: new sdk_trace_node_1.AlwaysOffSampler(), // sample incoming traced requests for now }), }; const endpoint = config_1.config.host.otlp_export_grpc_addr; if (endpoint) { if (endpoint.startsWith('https://')) { logger_1.logger.error('otlp export does not support https for now, will not export traces to', endpoint); } else { let url = endpoint; if (!url.startsWith('http://')) { url = `http://${url}`; } logger_1.logger.info('Node-Host: exporting traces to', url); options.traceExporter = new exporter_trace_otlp_grpc_1.OTLPTraceExporter({ url, }); } } exports.sdk = new sdk_node_1.NodeSDK(options);