Module: D13n::Metric::Instrumentation::Exception::ClassMethods

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

Instance Method Summary collapse

Instance Method Details

#d13n_error_inherated?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/d13n/metric/instrumentation/exception.rb', line 8

def d13n_error_inherated?
  !!(self < D13n::Error)
end

#exception_with_d13n_instrumentation(*arg) ⇒ Object



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

def exception_with_d13n_instrumentation(*arg)
  return exception_without_d13n_instrumentation(*arg) if d13n_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(*arg)
  end

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