Module: Amlexia::Tracing

Defined in:
lib/amlexia/tracing.rb

Class Method Summary collapse

Class Method Details

.child_span(parent) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/amlexia/tracing.rb', line 26

def child_span(parent)
  TraceContext.new(
    trace_id: parent.trace_id,
    span_id: SecureRandom.hex(8),
    parent_span_id: parent.span_id,
    session_id: parent.session_id,
    user_id: parent.user_id,
    environment: parent.environment,
    release_version: parent.release_version
  )
end

.create_trace_context(**kwargs) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/amlexia/tracing.rb', line 14

def create_trace_context(**kwargs)
  TraceContext.new(
    trace_id: kwargs[:trace_id] || SecureRandom.hex(16),
    span_id: kwargs[:span_id] || SecureRandom.hex(8),
    parent_span_id: kwargs[:parent_span_id],
    session_id: kwargs[:session_id],
    user_id: kwargs[:user_id],
    environment: kwargs[:environment],
    release_version: kwargs[:release_version]
  )
end