module Datadog::Contrib::Dalli::Instrumentation::InstanceMethods

InstanceMethods - implementing instrumentation

Public Instance Methods

request(op, *args) click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/dalli/instrumentation.rb, line 17
def request(op, *args)
  tracer.trace(Datadog::Contrib::Dalli::Ext::SPAN_COMMAND) do |span|
    span.resource = op.to_s.upcase
    span.service = datadog_configuration[:service_name]
    span.span_type = Datadog::Contrib::Dalli::Ext::SPAN_TYPE_COMMAND

    # Set analytics sample rate
    if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
      Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate])
    end

    span.set_tag(Datadog::Ext::NET::TARGET_HOST, hostname)
    span.set_tag(Datadog::Ext::NET::TARGET_PORT, port)
    cmd = Datadog::Contrib::Dalli::Quantize.format_command(op, args)
    span.set_tag(Datadog::Contrib::Dalli::Ext::TAG_COMMAND, cmd)

    super
  end
end

Private Instance Methods

datadog_configuration() click to toggle source
# File lib/ddtrace/contrib/dalli/instrumentation.rb, line 43
def datadog_configuration
  Datadog.configuration[:dalli, "#{hostname}:#{port}"] || Datadog.configuration[:dalli]
end
tracer() click to toggle source
# File lib/ddtrace/contrib/dalli/instrumentation.rb, line 39
def tracer
  datadog_configuration[:tracer]
end