Я внедряю публикацию statsd в Sidekiq, и мне удалось это сделать успешно, однако теги, похоже, добавляются только в «глобальные» сообщения statsd. Как вы можете видеть ниже, app:
не добавляется к фактическим sidekiq.job
сообщениям, оно есть у всех других сообщений. Почему это? Я бы хотел, чтобы тег app
присутствовал всегда.
sidekiq.processed:16|g|#app:test-app
sidekiq.enqueued:0|g|#app:test-app
sidekiq.retries:2|g|#app:test-app
sidekiq.dead:0|g|#app:test-app
sidekiq.scheduled:0|g|#app:test-app
sidekiq.busy:0|g|#app:test-app
sidekiq.enqueued.low:0|g|#app:test-app
sidekiq.enqueued.default:0|g|#app:test-app
sidekiq.job:1|c|#host:MacBook-Pro.local,env:development,name:test_cache_job,queue:default,status:ok
sidekiq.job.time:16034|ms|#host:MacBook-Pro.local,env:development,name:test_cache_job,queue:default,status:ok
Вот как я реализовал это в инициализаторе sidekiq.rb
.
Sidekiq::Pro.dogstatsd = ->{ Datadog::Statsd.new(ENV['DD_HOST'], ENV['DD_PORT'], tags: ["app:#{ENV['APP_NAME']}"]) }
Sidekiq.configure_server do |config|
# Middleware for StatsD
config.server_middleware do |chain|
require 'sidekiq/middleware/server/datadog'
chain.add Sidekiq::Middleware::Server::Datadog
end
config.save_history(Sidekiq::Pro.metrics, 30)
...