File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed
lib/datadog/tracing/contrib/karafka Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ module Datadog
4
+ module Tracing
5
+ module Contrib
6
+ module Karafka
7
+ # Karafka framework code, used to essentially:
8
+ # - handle configuration entries which are specific to Datadog tracing
9
+ # - instrument parts of the framework when needed
10
+ module Framework
11
+ def self . setup
12
+ Datadog . configure do |datadog_config |
13
+ karafka_config = datadog_config . tracing [ :karafka ]
14
+ activate_waterdrop! ( datadog_config , karafka_config )
15
+ end
16
+ end
17
+
18
+ # Apply relevant configuration from Karafka to WaterDrop
19
+ def self . activate_waterdrop! ( datadog_config , karafka_config )
20
+ datadog_config . tracing . instrument (
21
+ :waterdrop ,
22
+ service_name : karafka_config [ :service_name ] ,
23
+ distributed_tracing : karafka_config [ :distributed_tracing ] ,
24
+ )
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
Original file line number Diff line number Diff line change @@ -63,6 +63,9 @@ def patch
63
63
64
64
::Karafka ::Instrumentation ::Monitor . prepend ( Monitor )
65
65
::Karafka ::Messages ::Messages . prepend ( MessagesPatch )
66
+
67
+ # Activate tracing on components related to Karafka (e.g. WaterDrop)
68
+ Framework . setup
66
69
end
67
70
end
68
71
end
You can’t perform that action at this time.
0 commit comments