Module: ActiveJob::Temporal::Observability::PrometheusErrorLabels
- Defined in:
- lib/activejob/temporal/observability/prometheus.rb
Constant Summary collapse
- LABEL_CLASSES =
[ ActiveJob::DeserializationError, ActiveJob::SerializationError, NoMethodError, NameError, ArgumentError, TypeError, LoadError, SystemCallError, IOError, RuntimeError, StandardError, ScriptError, Exception ].freeze
Class Method Summary collapse
Class Method Details
.error_class_for(error) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/activejob/temporal/observability/prometheus.rb', line 45 def error_class_for(error) return error if error.is_a?(Class) return error.class if error.is_a?(Exception) LABEL_CLASSES.find { |klass| klass.name == error.to_s } || StandardError end |
.for(error) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/activejob/temporal/observability/prometheus.rb', line 38 def for(error) error_class = error_class_for(error) label_class = LABEL_CLASSES.find { |klass| error_class <= klass } (label_class&.name || "Unknown").to_s end |