@@ -21,6 +21,7 @@ defmodule SpandexEcto.EctoLogger do
2121 tracer = config [ :tracer ] || raise "tracer is a required option for #{ inspect ( __MODULE__ ) } "
2222 service = config [ :service ] || :ecto
2323 truncate = config [ :truncate ] || 5000
24+ emit_detailed_spans = config [ :emit_detailed_spans ] || true
2425
2526 if tracer . current_trace_id ( ) do
2627 now = :os . system_time ( :nano_seconds )
@@ -58,34 +59,36 @@ defmodule SpandexEcto.EctoLogger do
5859
5960 report_error ( tracer , log_entry )
6061
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
6668
67- if query_time != 0 do
68- tracer . start_span ( "run_query" )
69+ if query_time != 0 do
70+ tracer . start_span ( "run_query" )
6971
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+ )
7577
76- tracer . finish_span ( )
77- end
78+ tracer . finish_span ( )
79+ end
7880
79- if decoding_time != 0 do
80- tracer . start_span ( "decode" )
81+ if decoding_time != 0 do
82+ tracer . start_span ( "decode" )
8183
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+ )
8789
88- tracer . finish_span ( )
90+ tracer . finish_span ( )
91+ end
8992 end
9093
9194 tracer . finish_span ( )
0 commit comments