用于节点.js的 OpenTelemotry Bullmq 仪器
本单元提供自动追查仪器 布尔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
}),
],
});
配置选项
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
emitCreateSpansForBulk | boolean | true | 是否为每个工作排出一个创建间隔 Queue.addBulk 或者说 FlowProducer.addBulk。表示总体散装作业的跨度无论怎样都会释放出. |
emitCreateSpansForFlow | boolean | true | 是否为每个工作排出一个创建间隔 FlowProducer.add 或者说 FlowProducer.addBulk。表示总流量操作的跨度无论怎样都会被释放出. |
requireParentSpanForPublish | boolean | false | 是否在无父跨时省略发布跨度(以及创建子跨度,用于批量和流量操作),意味着创建的跨度将是新跟踪的根跨. |
useProducerSpanAsConsumerParent | boolean | false | 是否使用生产者类型(创建或发布)作为消费者类型(进程)的母体。 当设定为真实时,消费者和生产者的跨度将是同一跟踪的一部分。 当设定为虚假时,消费者的跨度会与生产者的跨度分开跟踪,并包含与生产者的跨度的链接. |
排出间距
该仪器旨在遵守 传讯西班牙人的开放遥测语义公约尽可能在这些跨度中使用语义公约的属性.
| 名称 | 宽度 | messaging.bullmq.operation.name 属性 [1] (中文(简体) ) | 说明 |
|---|---|---|---|
{queueName} publish | PRODUCER | Queue.add | 队列中新增任务 . |
{queueName} publish | INTERNAL [2] | Queue.addBulk | 将新任务以批量添加到队列中 . |
{queueName} publish | INTERNAL [3] | FlowProducer.add | 在队列中添加新的工作流程 . |
(bulk) publish | INTERNAL [2] [3] | FlowProducer.addBulk | 新增的工作流量会以批量加入队列. |
{queueName} create | PRODUCER | Job.add | 每个个人工作都加入了一个队列. 只在批量或流量作业中排放。 儿童出版期. [4] |
{queueName} process | CONSUMER | Worker.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在这种情况下,没有建立任何联系.
有用链接
- 关于OpenTeleometry的更多信息,请访问: https://opentelemetry.io/ 互联网档案馆的存檔,存档日期2013-12-02
- 更多关于 OpenTelemology JavaScript 的信息 : https://github.com/open-teleometry/open-teleometry-js (中文(简体) )
- 为帮助或反馈此项目, 打开一个问题或提交 PR
许可证
Apache 2. 0 - 见 自由主义 更多信息.
捐款
欢迎捐款。 随便你打开一个问题或提交公关 我想在某个时候把这个包裹列入开远测量-js-相接图中。 在那之前 它住在这里.
BullMQ对Redis的依赖性很强,这意味着Redis(目前)是仪器的测试依赖. 要运行测试, 您应该在默认端口的本地主机上运行 redis 服务器 。 如果你安装了插头,你就可以 docker-compose up 准备出发.