File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11PATH
22 remote: .
33 specs:
4- stack-service-base (0.0.90 )
4+ stack-service-base (0.0.91 )
55 async
66 debug
77 dotenv
Original file line number Diff line number Diff line change @@ -225,12 +225,22 @@ def otl_traceparent_id
225225 return nil unless OTEL_ENABLED && Otel . enabled
226226
227227 span_context = OpenTelemetry ::Trace . current_span . context
228- trace_id = span_context . trace_id . unpack1 ( 'H*' )
229- span_id = span_context . span_id . unpack1 ( 'H*' )
230- trace_flags = format ( '%02x' , span_context . trace_flags . instance_eval { @flags } ) # Two-digit hex for trace flags (e.g., sampled)
228+ trace_id = span_context . hex_trace_id
229+ span_id = span_context . hex_span_id
230+ trace_flags = span_context . trace_flags . sampled? ? '01' : '00'
231231 "00-#{ trace_id } -#{ span_id } -#{ trace_flags } "
232232end
233233
234+ def otl_span_from_traceparent ( traceparent_id , name , attributes = { } )
235+ parent_ctx = OpenTelemetry . propagation . extract ( 'traceparent' => traceparent_id )
236+
237+ OpenTelemetry ::Context . with_current ( parent_ctx ) do
238+ otl_span ( name , attributes ) do |span |
239+ yield span if block_given?
240+ end
241+ end
242+ end
243+
234244def otl_def ( name )
235245 original_method = self . respond_to? ( :instance_method ) ? instance_method ( name ) : method ( name )
236246 self . respond_to? ( :remove_method ) ? remove_method ( name ) : Object . send ( :remove_method , name )
@@ -278,4 +288,3 @@ def process
278288 end
279289end
280290
281-
You can’t perform that action at this time.
0 commit comments