如何在 DataDog 中为使用 Nodejs 的应用程序设置 APM 服务名称

1 datadog

我无法在 APM 下看到我的应用程序的跟踪 --> Datadog 中的服务。我从 Datadog 文档中找到了一些示例代码,但不知道它应该在我的应用程序中的确切位置。如果有人对此有任何想法,请告诉我。

我已经在我的 js 文件中尝试了以下代码。我的应用程序基于无服务器的节点 js。

const tracer = require('dd-trace').init();
tracer.use('http', {
    service: 'test'
});
Run Code Online (Sandbox Code Playgroud)

我还在 package.json 中为 dd-trace 添加了依赖项 "dd-trace": "^0.11.0"

我希望在 Datadog 的 APM 服务中以正确的名称列出我的应用程序。

Apo*_*eus 5

您所做的只是正确的,但是,常见的错误是不遵循以下内容。

该库必须在任何检测模块之前导入和初始化。使用转译器时,您必须在外部文件中导入并初始化跟踪器库,然后在构建应用程序时将该文件作为一个整体导入。这可以防止提升并确保在导入任何其他检测模块之前导入和初始化跟踪器库。

基本上,您不能require(any instrumented lib)在调用 init() 跟踪函数之前拥有(例如 http、express 等)。

https://docs.datadoghq.com/tracing/setup/nodejs/