使用DataDog记录ActiveJob APM跟踪

问题描述

我的配置是:

Datadog.configure do |c|
  c.tracer enabled: Rails.env.production? || ENV['DD_TRACE_ENABLED'] == 'true'
  c.tracer analytics_enabled: true

  c.use :rails,service_name: 'rails'
  c.use :resque,workers: ApplicationJob.subclasses + ApplicationWorker.subclasses,service_name: 'resque'
  c.use :http,service_name: 'http'
  c.use :redis,service_name: 'redis'
end

位置:

  • ApplicationJob签名是class ApplicationJob < ActiveJob::Base
  • ApplicationWorker用作Vanilla Resque的父类 课程。

我没有收到任何错误,但我,我在DataDog仪表板中看到了APM跟踪的ApplicationWorker子类,但 {{ 1}}子类。

从文档中我发现这是配置ApplicationJob使用activeJob时跟踪的正确方法,但是我没有找到关于该主题的如此出色的文档。

解决方法

阅读此文档后,https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#resque,您是否尝试将选项设置为带有花括号的散列?选项被指定为散列。所以 for line in fileHandle: fields = line.split('|') m = Message("ADT_A01") m.msh.msh_3 = 'GHH_ADT' m.msh.msh_7 = '20080115153000' m.msh.msh_9 = 'ADT^A01^ADT_A01' m.msh.msh_10 = "0123456789" m.msh.msh_11 = "P" m.msh.msh_12 = "" m.msh.msh_16 = "AL" m.evn.evn_2 = m.msh.msh_7 m.evn.evn_4 = "AAA" m.evn.evn_5 = m.evn.evn_4 m.pid.pid_5.pid_5_1 = fields[1] m.nk1.nk1_1 = '1' m.nk1.nk1_2 = 'NUCLEAR^NELDA^W' m.nk1.nk1_3 = 'SPO' m.nk1.nk1_4 = '2222 HOME STREET^^ANN ARBOR^MI^^USA' print (m.value) 之后的所有内容都应该是 hash