@@ -21,6 +21,7 @@ defmodule SpandexEcto.EctoLogger do
21
21
tracer = config [ :tracer ] || raise "tracer is a required option for #{ inspect ( __MODULE__ ) } "
22
22
service = config [ :service ] || :ecto
23
23
truncate = config [ :truncate ] || 5000
24
+ emit_detailed_spans = config [ :emit_detailed_spans ] || true
24
25
25
26
if tracer . current_trace_id ( ) do
26
27
now = :os . system_time ( :nano_seconds )
@@ -58,34 +59,36 @@ defmodule SpandexEcto.EctoLogger do
58
59
59
60
report_error ( tracer , log_entry )
60
61
61
- if queue_time != 0 do
62
- tracer . start_span ( "queue" )
63
- tracer . update_span ( service: service , start: start , completion_time: start + queue_time )
64
- tracer . finish_span ( )
65
- end
62
+ if emit_detailed_spans do
63
+ if queue_time != 0 do
64
+ tracer . start_span ( "queue" )
65
+ tracer . update_span ( service: service , start: start , completion_time: start + queue_time )
66
+ tracer . finish_span ( )
67
+ end
66
68
67
- if query_time != 0 do
68
- tracer . start_span ( "run_query" )
69
+ if query_time != 0 do
70
+ tracer . start_span ( "run_query" )
69
71
70
- tracer . update_span (
71
- service: service ,
72
- start: start + queue_time ,
73
- completion_time: start + queue_time + query_time
74
- )
72
+ tracer . update_span (
73
+ service: service ,
74
+ start: start + queue_time ,
75
+ completion_time: start + queue_time + query_time
76
+ )
75
77
76
- tracer . finish_span ( )
77
- end
78
+ tracer . finish_span ( )
79
+ end
78
80
79
- if decoding_time != 0 do
80
- tracer . start_span ( "decode" )
81
+ if decoding_time != 0 do
82
+ tracer . start_span ( "decode" )
81
83
82
- tracer . update_span (
83
- service: service ,
84
- start: start + queue_time + query_time ,
85
- completion_time: now
86
- )
84
+ tracer . update_span (
85
+ service: service ,
86
+ start: start + queue_time + query_time ,
87
+ completion_time: now
88
+ )
87
89
88
- tracer . finish_span ( )
90
+ tracer . finish_span ( )
91
+ end
89
92
end
90
93
91
94
tracer . finish_span ( )
0 commit comments