@appsignal/opentelemetry-instrumentation-bullmq

中文文档
0.9.0发布于 2026/08/24Apache-2.0TypeScriptCommonJS近 30 天下载 33万

BullMQ信息框架的自动仪器

中文使用文档
文档目录8 节
  1. 安装
  2. 支持的版本
  3. 使用量
  4. 配置选项
  5. 排出间距
  6. 有用链接
  7. 许可证
  8. 捐款

用于节点.js的 OpenTelemotry Bullmq 仪器

Node.js CI npm version

本单元提供自动追查仪器 布尔MQ。 。 。 .

与 OpenTeleometry JS API 和 SDK 兼容 1.0+。 。 。 .

安装

npm install --save @appsignal/opentelemetry-instrumentation-bullmq

支持的版本

  • [2.x, 3.x, 4.x, 5.x]

仪器很可能会支持更早的"公牛MQ"版本,但我还没有测试过.

使用量

打开遥测公牛MQ 仪器化使用户能够自动从BullMQ的工作和工人中收集痕量数据并导出到选择的后端.

要装入仪表,请在仪表列表中指定为 registerInstrumentations。目前没有配置选项.

const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { registerInstrumentations } = require("@opentelemetry/instrumentation");
const {
  BullMQInstrumentation,
} = require("@appsignal/opentelemetry-instrumentation-bullmq");

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    new BullMQInstrumentation({
      // configuration options, see below
    }),
  ],
});

配置选项

名称类型默认值说明
emitCreateSpansForBulkbooleantrue是否为每个工作排出一个创建间隔 Queue.addBulk 或者说 FlowProducer.addBulk。表示总体散装作业的跨度无论怎样都会释放出.
emitCreateSpansForFlowbooleantrue是否为每个工作排出一个创建间隔 FlowProducer.add 或者说 FlowProducer.addBulk。表示总流量操作的跨度无论怎样都会被释放出.
requireParentSpanForPublishbooleanfalse是否在无父跨时省略发布跨度(以及创建子跨度,用于批量和流量操作),意味着创建的跨度将是新跟踪的根跨.
useProducerSpanAsConsumerParentbooleanfalse是否使用生产者类型(创建或发布)作为消费者类型(进程)的母体。 当设定为真实时,消费者和生产者的跨度将是同一跟踪的一部分。 当设定为虚假时,消费者的跨度会与生产者的跨度分开跟踪,并包含与生产者的跨度的链接.

排出间距

该仪器旨在遵守 传讯西班牙人的开放遥测语义公约尽可能在这些跨度中使用语义公约的属性.

名称宽度messaging.bullmq.operation.name 属性 [1] (中文(简体) )说明
{queueName} publishPRODUCERQueue.add队列中新增任务 .
{queueName} publishINTERNAL [2]Queue.addBulk将新任务以批量添加到队列中 .
{queueName} publishINTERNAL [3]FlowProducer.add在队列中添加新的工作流程 .
(bulk) publishINTERNAL [2] [3]FlowProducer.addBulk新增的工作流量会以批量加入队列.
{queueName} createPRODUCERJob.add每个个人工作都加入了一个队列. 只在批量或流量作业中排放。 儿童出版期. [4]
{queueName} processCONSUMERWorker.run每一次由工人执行的工作。 与相应的出厂间隔相接. [5]
  • [1] (中文(简体) ): 代表应用程序中为触发该跨度而调用的 BullMQ 函数.
  • [2]: 当 emitCreateSpansForBulk 配置选项设置为 false,这是一个 PRODUCER 间距.
  • [3]: 当 emitCreateSpansForFlow 配置选项设置为 false,这是一个 PRODUCER 间距.
  • [4]: 将不向 Queue.addBulk 财务报告和审定财务报表 FlowProducer.addBulk 当 emitCreateSpansForBulk 配置选项是 false,或呼吁 FlowProducer.add 财务报告和审定财务报表 FlowProducer.addBulk 当 emitCreateSpansForFlow 配置选项设置为 false。 。 。 .
  • [5]: 如果 requireParentSpanForPublish 设置为 true在这种情况下,没有建立任何联系.

许可证

Apache 2. 0 - 见 自由主义 更多信息.

捐款

欢迎捐款。 随便你打开一个问题或提交公关 我想在某个时候把这个包裹列入开远测量-js-相接图中。 在那之前 它住在这里.

BullMQ对Redis的依赖性很强,这意味着Redis(目前)是仪器的测试依赖. 要运行测试, 您应该在默认端口的本地主机上运行 redis 服务器 。 如果你安装了插头,你就可以 docker-compose up 准备出发.

版本与发布记录

@appsignal/opentelemetry-instrumentation-bullmq 共发布 7 个版本,首次发布于 2024/06/10;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.9.0latest2026/08/242 个月前
0.8.02026/03/127 个月前
0.7.32024/10/082 年前
0.7.22024/10/012 年前
0.7.12024/06/132 年前
0.7.02024/06/112 年前

关于 @appsignal/opentelemetry-instrumentation-bullmq 的常见问题

@appsignal/opentelemetry-instrumentation-bullmq 是什么?

BullMQ信息框架的自动仪器

如何安装 @appsignal/opentelemetry-instrumentation-bullmq?

在项目目录运行 npm install @appsignal/opentelemetry-instrumentation-bullmq,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@opentelemetry/api(^1.3.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@appsignal/opentelemetry-instrumentation-bullmq 支持 TypeScript 吗?

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

@appsignal/opentelemetry-instrumentation-bullmq 支持 ESM 还是 CommonJS?

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

@appsignal/opentelemetry-instrumentation-bullmq 可以商用吗?

@appsignal/opentelemetry-instrumentation-bullmq 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@appsignal/opentelemetry-instrumentation-bullmq 的下载量有多少?

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

@appsignal/opentelemetry-instrumentation-bullmq 还在维护吗?

最新版本 0.9.0 发布于 2026/08/24(2 个月前);至今共发布 7 个版本,其中过去 12 个月发布了 2 个;首次发布于 2024/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。