diff --git a/packages/config.js b/packages/config.js index fc6245b..549930a 100644 --- a/packages/config.js +++ b/packages/config.js @@ -2,6 +2,7 @@ const {diag, DiagConsoleLogger, DiagLogLevel} = require('@opentelemetry/api'); const process = require('process'); const tracer = require('./tracer-collector'); const metrics = require('./metrics-collector'); +const {OTLPTraceExporter} = require('@opentelemetry/exporter-trace-otlp-grpc'); const configDefault = { 'DEBUG' : DiagLogLevel.NONE, @@ -19,6 +20,7 @@ const configDefault = { 'accessToken': '', 'tenantID': '', 'mwAuthURL': 'https://app.middleware.io/api/v1/auth', + 'traceExporter': {}, } module.exports.init = (config = {}) => { @@ -30,6 +32,11 @@ module.exports.init = (config = {}) => { configDefault['host'] = process.env.MW_AGENT_SERVICE configDefault['hostUrl'] = process.env.MW_AGENT_SERVICE+":"+configDefault.port.grpc } + + configDefault['traceExporter'] = new OTLPTraceExporter({ + url: configDefault['hostUrl'], + }), + diag.setLogger(new DiagConsoleLogger(), configDefault['DEBUG'] ? DiagLogLevel.DEBUG : DiagLogLevel.NONE); if (configDefault['collectMetrics']) {metrics.init(configDefault)} tracer.init(configDefault) diff --git a/packages/init.js b/packages/init.js index 140e34c..f101bdc 100644 --- a/packages/init.js +++ b/packages/init.js @@ -9,6 +9,7 @@ module.exports.track = (newConfig = {}) => { config = require('./config').init(newConfig) logger = require('./logger').init(config); profiler = require('./profiler').init(config); + return config }; module.exports.error = (message) => { diff --git a/packages/profiler.js b/packages/profiler.js index 1b2e579..c7d17de 100644 --- a/packages/profiler.js +++ b/packages/profiler.js @@ -28,7 +28,6 @@ module.exports.init = async (config) => { appName: config.serviceName, tenantID: config.TenantID, }); - Pyroscope.start() } else { console.log('Failed to retrieve TenantID from API response'); diff --git a/packages/tracer-collector.js b/packages/tracer-collector.js index 46c5149..3fa777e 100644 --- a/packages/tracer-collector.js +++ b/packages/tracer-collector.js @@ -10,9 +10,7 @@ module.exports.init = (config) => { const {Resource} = require("@opentelemetry/resources"); const {SemanticResourceAttributes} = require("@opentelemetry/semantic-conventions"); const sdk = new opentelemetry.NodeSDK({ - traceExporter: new OTLPTraceExporter({ - url: config.hostUrl, - }), + traceExporter: config.traceExporter, instrumentations: [ getNodeAutoInstrumentations({}), new GrpcInstrumentation({