我在tracing.js中设置了以下配置(文档中的1:1),但我不知道如何设置服务名。现在在Datadog中,我看到的只是“unknown_service”。
const opentelemetry = require("@opentelemetry/sdk-node");
const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node");
const { OTLPTraceExporter } = require("@opentelemetry/exporter-trace-otlp-http");
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
//How can I set custom service name?
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);
const sdk = new opentelemetry.NodeSDK({
traceExporter: new OTLPTraceExporter({
url: process.env.OPENTELEMETRY_URL,
headers: {},
}),
instrumentations: [getNodeAutoInstrumentations()],
});
sdk.start();
2条答案
按热度按时间yqkkidmi1#
有几种方法可以做到这一点:
首先将其添加到代码中:
另一种方法是使用@Jan Garaj推荐的环境变量
OTEL_SERVICE_NAME
:最后,您还可以使用环境变量
OTEL_RESOURCE_ATTRIBUTES
:这些是OpenTelemetry命名服务的官方方式,如果它们与您正在使用的后端一起工作,则命名为IDK。
它可以与Jager和Zipkin等OSS工具一起使用。
kg7wmglp2#
尝试设置通用环境变量
OTEL_SERVICE_NAME
。文件:https://opentelemetry.io/docs/concepts/sdk-configuration/general-sdk-configuration/