Javascript 如何使用lightstep/otel launcher节点作为OpenTelemetry导出器?
在使用之前,我可以同时使用我自己的导出器和Lightstep导出器Javascript 如何使用lightstep/otel launcher节点作为OpenTelemetry导出器?,javascript,node.js,open-telemetry,lightstep,Javascript,Node.js,Open Telemetry,Lightstep,在使用之前,我可以同时使用我自己的导出器和Lightstep导出器 import { CollectorTraceExporter } from '@opentelemetry/exporter-collector'; import { NodeTracerProvider } from '@opentelemetry/node'; import { BatchSpanProcessor, ConsoleSpanExporter } from '@opentelemetry/tracing';
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { NodeTracerProvider } from '@opentelemetry/node';
import { BatchSpanProcessor, ConsoleSpanExporter } from '@opentelemetry/tracing';
import { LightstepExporter } from 'lightstep-opentelemetry-exporter';
const initTracer = () => {
const serviceName = 'server-trace-service';
const tracerProvider = new NodeTracerProvider({
plugins: {
http: {
enabled: true,
path: '@opentelemetry/plugin-http',
},
},
});
tracerProvider.addSpanProcessor(new BatchSpanProcessor(new ConsoleSpanExporter()));
tracerProvider.addSpanProcessor(
new BatchSpanProcessor(
new CollectorTraceExporter({
serviceName,
})
)
);
tracerProvider.addSpanProcessor(
new BatchSpanProcessor(
new LightstepExporter({
serviceName,
token: 'myToken',
})
)
);
tracerProvider.register();
};
然而,just saw lightstep/opentelemetry exporter js已被弃用,取而代之的是
我检查了它的源代码和演示,它看起来像是OpenTelemetry之上的一个“框架”
const {
lightstep,
opentelemetry,
} = require('lightstep-opentelemetry-launcher-node');
const sdk = lightstep.configureOpenTelemetry({
accessToken: 'YOUR ACCESS TOKEN',
serviceName: 'locl-ex',
});
sdk.start().then(() => {
const tracer = opentelemetry.trace.getTracer('otel-node-example');
const span = tracer.startSpan('test-span');
span.end();
opentelemetry.trace.getTracerProvider().getActiveSpanProcessor().shutdown();
});
是否可以简单地将其用作OpenTelemetry导出器之一?
lightstep OpenTelemetry launcher node
基本上为您捆绑了所需的东西,以便于配置,因此它不是导出器。如果要在代码中简单地将“LightstepExporter”替换为“OpenTelemetry Collector Exporter”,则可以简单地执行此操作
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
tracerProvider.addSpanProcessor(
new BatchSpanProcessor(
new CollectorTraceExporter({
url: 'YOUR_DIGEST_URL',
headers: {
'Lightstep-Access-Token': 'YOUR_TOKEN'
}
})
)
);
默认的
您的\u DIGETS\u URL
来源是https://ingest.lightstep.com:443/api/v2/otel/trace
lightstep opentelemetry launcher node
基本上为您捆绑了所需的东西,以便于配置,因此它不是导出器。如果要在代码中简单地将“LightstepExporter”替换为“OpenTelemetry Collector Exporter”,则可以简单地执行此操作
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
tracerProvider.addSpanProcessor(
new BatchSpanProcessor(
new CollectorTraceExporter({
url: 'YOUR_DIGEST_URL',
headers: {
'Lightstep-Access-Token': 'YOUR_TOKEN'
}
})
)
);
默认的
您的\u DIGETS\u URL
来源是https://ingest.lightstep.com:443/api/v2/otel/trace
谢谢@BObecny!此代码是否也适用于@opentelemetry/web
中的WebTracerProvider
?在lightstep/opentelemetry exporter之前,js也可以在前端使用。是的CollectorTraceExporter
也可以在web中使用WebTraceProvider
。谢谢@BObecny!此代码是否也适用于@opentelemetry/web
中的WebTracerProvider
?在lightstep/opentelemetry exporter之前,js也可以在前端使用。是的,CollectorTraceExporter
也可以在web中使用WebTraceProvider
。