Module: D13n::Metric::Instrumentation::AppException::ClassMethods

Defined in:
lib/d13n/metric/instrumentation/app_exception.rb

Instance Method Summary collapse

Instance Method Details

#exception_with_d13n_instrumentation(*args) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/d13n/metric/instrumentation/app_exception.rb', line 13

def exception_with_d13n_instrumentation(*args)
  return exception_without_d13n_instrumentation(*args) unless metric_error_inherated?

  manager = D13n::Metric::Manager.instance
  metric = manager.metric(:app_state)
  
  if metric.nil?
    D13n.logger.info "Null intrumentation metric class and ignore collection"
    return exception_without_d13n_instrumentation(*args)
  end

  metric.instance(manager, {type: 'exception', at: 'runtime', src: 'app'}).process do
    exception_without_d13n_instrumentation(*args)
  end
end

#metric_error_inherated?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/d13n/metric/instrumentation/app_exception.rb', line 9

def metric_error_inherated?
  !!(self < D13n::Metric::MetricError)
end