@gamechanger/datadog-apm

中文文档
1.4.2发布于 2025/04/18MITTypeScriptCommonJS近 30 天下载 4603

帮助将Datadog的APM与节点客户端集成的功能

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录7 节
  1. 动机
  2. 安装
  3. 装饰者
  4. 标记
  5. 根宽访问
  6. 将 Spans 标记为错误
  7. 部署

数据犬 APM 助手

一个轻量级的包装器在Datadog的上面 dd-trace 库中,添加工具功能,以方便追踪、标记和搜索您的功能.

动机

dd-trace 提供了权力和灵活性,但随之而来的是复杂性。 此包装会添加帮助器以简化 :

  • 追查职能(包括搜索)
  • 追踪类方法
  • 将标记添加到活动间距
  • 添加标签到 根号 间距(需要在跟踪搜索和分析中进行过滤和搜索)
  • 在不丢弃的情况下将一个跨度标为错误

安装

npm install --save @gamechanger/datadog-apm

或者说

yarn add @gamechanger/datadog-apm

装饰者

您的可观察性代码应该远离您的商业逻辑, 应该容易添加和去除。 装饰者是实现这一目标的好方法.

// Trace a function
@APM.trace()
async function foo() {}

// Trace *all* methods of a class
@APM.trace()
class GameChanger {
    public foo() {}
    private bar() {}
}

// Trace *individual* methods of a class
class GameChanger {
    @APM.trace()
    public foo() {}
    private bar() {}
}

// The decorator can be configured to override the defaults
class EmailQueue {
    @APM.trace({ serviceName: 'queue', spanName: 'queue.message' })
    public async pop() {}
}

标记

在整个代码中都会出现添加标记,因此理想的做法是增加尽可能多的行.

与香草 dd-trace,您必须始终检查活动跨度是否存在:

const span = tracer.scope().active();

if (span !== null) {
    span.addTags({
        'http.method': req.method
    });
}

这个包裹可以帮你清理干净

APM.addTags({ 'http.method': req.method })

根宽访问

如果你在用的话 koa 或者说 express,您可以使用 APM.getRootSpanFromContext 以获得根跨. 这可以用来在根间间添加标记,然后可以在 Trace Search & Analytics 数据道中的屏幕.

APM.addTags({ teamId: context.params.teamId }, APM.getRootSpanFromContext(context));

注: 这使用无证财产,不能保证工作. 然而,如果基础 dd-trace 代码会改变,它会安全地倒回到将标记添加到当前跨度上而不是根跨上.

将 Spans 标记为错误

APM.markAsError(new Error('I am not thrown'))

部署

所有出版都通过CI管道完成.

要启动新的部署,只需使用 npm version <version> 然后推着 package.json 更改和与 repo 相关的标签 git push --follow-tags。 。 。 .

版本与发布记录

@gamechanger/datadog-apm 共发布 27 个版本,首次发布于 2019/12/04;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.2latest2025/04/181.6 年前
1.4.12024/03/152 年前
1.4.02024/03/142 年前
1.5.1-beta2024/01/252 年前
1.4.7-beta2023/08/243 年前
1.4.5-beta2023/08/243 年前

关于 @gamechanger/datadog-apm 的常见问题

@gamechanger/datadog-apm 是什么?

帮助将Datadog的APM与节点客户端集成的功能注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @gamechanger/datadog-apm?

在项目目录运行 npm install @gamechanger/datadog-apm,或使用 pnpm add / yarn add / bun add。

@gamechanger/datadog-apm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@gamechanger/datadog-apm 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@gamechanger/datadog-apm 可以商用吗?

@gamechanger/datadog-apm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@gamechanger/datadog-apm 的下载量有多少?

根据 npm 官方下载统计,@gamechanger/datadog-apm 在 2026/10/16 – 2026/11/14 这 30 天内被下载 4,603 次,日均约 153 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@gamechanger/datadog-apm 还在维护吗?

最新版本 1.4.2 发布于 2025/04/18(1.6 年前);至今共发布 27 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/12/04。作者已将其标记为弃用,新项目建议寻找替代方案。