module Datadog::Contrib::ActionPack::Utils

Common utilities for ActionPack

Public Class Methods

exception_is_error?(exception) click to toggle source
# File lib/ddtrace/contrib/action_pack/utils.rb, line 9
def self.exception_is_error?(exception)
  if defined?(::ActionDispatch::ExceptionWrapper)
    # Gets the equivalent status code for the exception (not all are 5XX)
    # You can add custom errors via `config.action_dispatch.rescue_responses`
    status = ::ActionDispatch::ExceptionWrapper.status_code_for_exception(exception.class.name)
    # Only 5XX exceptions are actually errors (e.g. don't flag 404s)
    status.to_s.start_with?('5')
  else
    true
  end
end
set_analytics_sample_rate(span) click to toggle source
# File lib/ddtrace/contrib/action_pack/utils.rb, line 21
def self.set_analytics_sample_rate(span)
  if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
    Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate])
  end
end

Private Class Methods

datadog_configuration() click to toggle source
# File lib/ddtrace/contrib/action_pack/utils.rb, line 30
def datadog_configuration
  Datadog.configuration[:action_pack]
end