Module: Datadog::Tracing::Contrib::WaterDrop::Middleware
- Defined in:
- lib/datadog/tracing/contrib/waterdrop/middleware.rb
Overview
Middleware to propagate tracing context in messages produced by WaterDrop
Class Method Summary collapse
Class Method Details
.call(message) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/datadog/tracing/contrib/waterdrop/middleware.rb', line 12 def call() trace_op = Datadog::Tracing.active_trace if trace_op && Datadog::Tracing::Distributed::PropagationPolicy.enabled?( global_config: configuration, trace: trace_op ) WaterDrop.inject(trace_op.to_digest, [:headers] ||= {}) end if Datadog::DataStreams.enabled? Datadog::DataStreams.set_produce_checkpoint( type: 'kafka', destination: [:topic], auto_instrumentation: true ) do |key, value| [:headers] ||= {} [:headers][key] = value end end end |