Module: Lapsoss::Adapters::Concerns::TraceContext
- Extended by:
- ActiveSupport::Concern
- Included in:
- OtlpAdapter
- Defined in:
- lib/lapsoss/adapters/concerns/trace_context.rb
Overview
Trace context utilities for OTLP and distributed tracing Provides trace/span ID generation and timestamp formatting
Instance Method Summary collapse
-
#generate_span_id ⇒ String
Generate a W3C Trace Context compliant span ID (16 hex chars = 64 bits).
-
#generate_trace_id ⇒ String
Generate a W3C Trace Context compliant trace ID (32 hex chars = 128 bits).
-
#timestamp_micros(time) ⇒ Integer
Convert time to microseconds since Unix epoch (OpenObserve format).
-
#timestamp_millis(time) ⇒ Integer
Convert time to milliseconds since Unix epoch.
-
#timestamp_nanos(time) ⇒ Integer
Convert time to nanoseconds since Unix epoch (OTLP format).
Instance Method Details
#generate_span_id ⇒ String
Generate a W3C Trace Context compliant span ID (16 hex chars = 64 bits)
22 23 24 |
# File 'lib/lapsoss/adapters/concerns/trace_context.rb', line 22 def generate_span_id SecureRandom.hex(8) end |
#generate_trace_id ⇒ String
Generate a W3C Trace Context compliant trace ID (32 hex chars = 128 bits)
16 17 18 |
# File 'lib/lapsoss/adapters/concerns/trace_context.rb', line 16 def generate_trace_id SecureRandom.hex(16) end |
#timestamp_micros(time) ⇒ Integer
Convert time to microseconds since Unix epoch (OpenObserve format)
37 38 39 40 |
# File 'lib/lapsoss/adapters/concerns/trace_context.rb', line 37 def (time) time ||= Time.current (time.to_f * 1_000_000).to_i end |
#timestamp_millis(time) ⇒ Integer
Convert time to milliseconds since Unix epoch
45 46 47 48 |
# File 'lib/lapsoss/adapters/concerns/trace_context.rb', line 45 def (time) time ||= Time.current (time.to_f * 1_000).to_i end |
#timestamp_nanos(time) ⇒ Integer
Convert time to nanoseconds since Unix epoch (OTLP format)
29 30 31 32 |
# File 'lib/lapsoss/adapters/concerns/trace_context.rb', line 29 def (time) time ||= Time.current (time.to_f * 1_000_000_000).to_i end |