Devi varalakshmi
09/27/2021, 3:13 PMInvalid configuration: access token missing, must be set when reporting to <https://ingest.lightstep.com/traces/otlp/v0.6>. Set LS_ACCESS_TOKEN env var or configure token in code
LightstepConfigurationError: Invalid configuration: access token missing, must be set when reporting to <https://ingest.lightstep.com/traces/otlp/v0.6>. Set LS_ACCESS_TOKEN env var or configure token in code
at /node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:128:15
at validateToken (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:147:9)
at validateConfiguration (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:136:5)
at Object.configureOpenTelemetry (/node/node_modules/lightstep-opentelemetry-launcher-node/build/src/lightstep-opentelemetry-launcher-node.js:44:5)
at Object.<anonymous> (/node/server_init.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Object.<anonymous> (/usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
Pranay
Devi varalakshmi
09/28/2021, 12:33 PMPranay
Itzik Lavon
09/29/2021, 3:25 AMconst client = require('prom-client');
const url = require('url');
var express = require('express');
const process = require('process');
const opentelemetry = require('@opentelemetry/sdk-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-grpc');
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
var app = express();
var port = 3000;
// var clean = require('xss-clean/lib/xss').clean;
var bodyParser = require('body-parser');
// <---- open telementary
// configure the SDK to export telemetry data to the console
// enable all auto-instrumentations from the meta package
const collectorOptions = {
// url is optional and can be omitted - default is <grpc://localhost:4317>
url: process.env.NODE_OTEL_COLLECTOR_GRPC,
};
const traceExporter = new CollectorTraceExporter(collectorOptions);
const sdk = new opentelemetry.NodeSDK({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'prerouter',
}),
traceExporter,
instrumentations: [getNodeAutoInstrumentations()]
});
// initialize the SDK and register with the OpenTelemetry API
// this enables the API to record telemetry
sdk.start()
.then(() => console.log('Tracing initialized'))
.catch((error) => console.log('Error initializing tracing', error));
// gracefully shut down the SDK on process exit
process.on('SIGTERM', () => {
sdk.shutdown()
.then(() => console.log('Tracing terminated'))
.catch((error) => console.log('Error terminating tracing', error))
.finally(() => process.exit(0));
});
use your own service name and collector uriDevi varalakshmi
09/29/2021, 4:39 AM