module OpenTelemetry::Instrumentation::ActiveModelSerializers::EventHandler
Event handler singleton for ActiveModelSerializers
Public Instance Methods
handle(start_timestamp, end_timestamp, payload)
click to toggle source
# File lib/opentelemetry/instrumentation/active_model_serializers/event_handler.rb, line 14 def handle(start_timestamp, end_timestamp, payload) tracer.start_span(span_name(payload), start_timestamp: start_timestamp, attributes: build_attributes(payload), kind: :internal) .finish(end_timestamp: end_timestamp) end
Protected Instance Methods
build_attributes(payload)
click to toggle source
# File lib/opentelemetry/instrumentation/active_model_serializers/event_handler.rb, line 28 def build_attributes(payload) { 'serializer.name' => payload[:serializer].name, 'serializer.renderer' => 'active_model_serializers', 'serializer.format' => payload[:adapter]&.class&.name || 'default' } end
demodulize(string)
click to toggle source
# File lib/opentelemetry/instrumentation/active_model_serializers/event_handler.rb, line 40 def demodulize(string) string = string.to_s i = string.rindex('::') i ? string[(i + 2)..-1] : string end
span_name(payload)
click to toggle source
# File lib/opentelemetry/instrumentation/active_model_serializers/event_handler.rb, line 24 def span_name(payload) "#{demodulize(payload[:serializer].name)} render" end
tracer()
click to toggle source
# File lib/opentelemetry/instrumentation/active_model_serializers/event_handler.rb, line 36 def tracer ActiveModelSerializers::Instrumentation.instance.tracer end