DataDog / dogstatsd-ruby

A Ruby client for DogStatsd
https://www.datadoghq.com/
MIT License
182 stars 137 forks source link

Namespace not being used with Sidekiq Pro #292

Open travisTheOrange opened 2 months ago

travisTheOrange commented 2 months ago

We're using Datadog and have configured both DD and Sidekiq Pro to send Sidekiq metrics to our Datadog agent. However, when in Datadog the only way we can view the various metrics from Sidekiq is with the prefix jobs.*, rather than sidekiq.jobs.*.

Our Sidekiq config file (located in config/initializers/sidekiq.rb) looks like this:

require 'datadog/statsd' # gem 'dogstatsd-ruby'

Sidekiq.configure_server do |config|
  config.dogstatsd = ->{ Datadog::Statsd.new(socket_path: ENV['SOCKET_PATH'], namespace: 'sidekiq') }
  config.server_middleware do |chain|
    require 'sidekiq/middleware/server/statsd'
    chain.add Sidekiq::Middleware::Server::Statsd
  end
end

The first line within the Sidekiq.configure_server block was originally not there. Previously we had this line outside the config block, set as:

Sidekiq::Pro.dogstatsd = ->{ Datadog::Statsd.new(socket_path: ENV['SOCKET_PATH'], namespace:'sidekiq') }

Which resulted in no metrics being sent, maybe. We are seeing metrics in DD now, but we're unsure if it's because of the aforementioned code change or using the prefix jobs.* instead of sidekiq.jobs.*

travisTheOrange commented 2 months ago

Is anyone able to help with this?

carlosroman commented 2 months ago

Any reason why you've chosen the namespace as being sidekiq? This is causing all metrics to have sidekiq appended to them, see here.

travisTheOrange commented 2 months ago

@carlosroman are you suggesting that even metrics not belonging to Sidekiq would have the prefix sidekiq.*? So metrics from Datadog would all be prefixed with sidekiq.*?

And I'd say that in theory it would cause all metrics to have the sidekiq.* prefix, however, as per my raised issue, no metrics are being prefixed with sidekiq.*

carlosroman commented 2 months ago

Sorry, I thought you meant that all your metrics are getting sidekiq appended to them. So adding a namespace doesn't seem to actually prefix the metrics at the moment?

travisTheOrange commented 2 months ago

@carlosroman yeah exactly. Although I raised this issue in the Sidekiq repo and was told the issue is known and being worked on