Class: OpenTracing::Instrumentation::Hutch::ConsumeTracer
- Inherits:
-
Object
- Object
- OpenTracing::Instrumentation::Hutch::ConsumeTracer
- Extended by:
- Forwardable
- Defined in:
- lib/opentracing/instrumentation/hutch/consume_tracer.rb
Overview
ConsumeTracer trace Hutch consumer. Cannot be configured, Use ConsumeTracerBuilder for configuration.
Usage:
Hutch::Config.set(
:tracer,
OpenTracing::Instrumentation::Hutch::ConsumeTracer,
)
Instance Method Summary collapse
-
#handle(message) ⇒ Object
Method handle called by Hutch on message.
-
#initialize(consumer, config: ConsumeTracerConfig.new) ⇒ ConsumeTracer
constructor
A new instance of ConsumeTracer.
Constructor Details
#initialize(consumer, config: ConsumeTracerConfig.new) ⇒ ConsumeTracer
Returns a new instance of ConsumeTracer.
17 18 19 20 |
# File 'lib/opentracing/instrumentation/hutch/consume_tracer.rb', line 17 def initialize(consumer, config: ConsumeTracerConfig.new) @consumer = consumer @config = config end |
Instance Method Details
#handle(message) ⇒ Object
Method handle called by Hutch on message. This method start active span, process consumer and close span.
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/opentracing/instrumentation/hutch/consume_tracer.rb', line 24 def handle() scope = safe_start_active_span() consumer.process() rescue StandardError => e error_writer.write_error(scope.span, e) if scope raise e ensure # Close scope if exists scope&.close end |