Class: RoundhouseUi::Observability::DatadogAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/roundhouse_ui/observability.rb

Instance Method Summary collapse

Constructor Details

#initialize(site: "datadoghq.com", service: nil, extra_query: nil) ⇒ DatadogAdapter

Returns a new instance of DatadogAdapter.



21
22
23
24
25
# File 'lib/roundhouse_ui/observability.rb', line 21

def initialize(site: "datadoghq.com", service: nil, extra_query: nil)
  @site = site
  @service = service
  @extra_query = extra_query
end

Instance Method Details

#error_url(klass:, error: nil) ⇒ Object

Grouped Errors rows have no single JID, so link to a class-wide search. The exact facet depends on your Datadog tagging; tune via extra_query if resource_name isn't how your Sidekiq spans are tagged.



43
44
45
46
47
48
# File 'lib/roundhouse_ui/observability.rb', line 43

def error_url(klass:, error: nil)
  terms = [ "resource_name:#{klass}" ]
  terms << "service:#{@service}" if @service
  terms << @extra_query if @extra_query
  traces_url(terms)
end

#job_url(klass:, jid:, queue: nil) ⇒ Object



29
30
31
32
33
34
# File 'lib/roundhouse_ui/observability.rb', line 29

def job_url(klass:, jid:, queue: nil)
  terms = [ "@sidekiq.jid:#{jid}" ]
  terms << "service:#{@service}" if @service
  terms << @extra_query if @extra_query
  traces_url(terms)
end

#labelObject



27
# File 'lib/roundhouse_ui/observability.rb', line 27

def label = "Datadog"

#queue_url(name) ⇒ Object



36
37
38
# File 'lib/roundhouse_ui/observability.rb', line 36

def queue_url(name)
  traces_url([ "@sidekiq.queue:#{name}" ])
end