Module: Bitfab::TraceState

Defined in:
lib/bitfab/span_context.rb

Overview

Global storage for trace states (trace_id -> state hash)

Class Method Summary collapse

Class Method Details

.clear_allObject



149
150
151
# File 'lib/bitfab/span_context.rb', line 149

def clear_all
  @states_mutex.synchronize { @states.clear }
end

.create(trace_id, test_run_id: nil, input_source_trace_id: nil) ⇒ Object



134
135
136
137
138
139
140
141
142
143
# File 'lib/bitfab/span_context.rb', line 134

def create(trace_id, test_run_id: nil, input_source_trace_id: nil)
  @states_mutex.synchronize do
    @states[trace_id] ||= {
      trace_id:,
      started_at: Time.now.utc.strftime("%Y-%m-%dT%H:%M:%S.%3NZ"),
      test_run_id:,
      input_source_trace_id:
    }.compact
  end
end

.delete(trace_id) ⇒ Object



145
146
147
# File 'lib/bitfab/span_context.rb', line 145

def delete(trace_id)
  @states_mutex.synchronize { @states.delete(trace_id) }
end

.get(trace_id) ⇒ Object



130
131
132
# File 'lib/bitfab/span_context.rb', line 130

def get(trace_id)
  @states_mutex.synchronize { @states[trace_id] }
end