bitfab 0.12.1 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bitfab/client.rb +2 -3
- data/lib/bitfab/replay.rb +13 -10
- data/lib/bitfab/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90f13972943bdfcdd6c5b72859d9ae03b23549577771f0e7d4f8726e2cff9037
|
|
4
|
+
data.tar.gz: f7c393d995069261d6ddf554727b02b25e6ec37f1f516a0ad01b114f684b5cb9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2ddfbc335058f37fc3f024b6596d3029dff1601be1243a8f779bbcd7dc899d78f75769c2db8e70894a316649ece042b56f9089fbe39b573bfe40cf313ec2c984
|
|
7
|
+
data.tar.gz: 0eca0c359e794699587347552b79d608d4ebf6016abef029795a2ffabc475f7d52bc16bcddf32525c7f9a714e7df6386af3c2f9ab6d40d0f8a13c638baf4bf3c
|
data/lib/bitfab/client.rb
CHANGED
|
@@ -84,13 +84,12 @@ module Bitfab
|
|
|
84
84
|
return yield unless @enabled
|
|
85
85
|
|
|
86
86
|
parent = SpanContext.current
|
|
87
|
-
|
|
87
|
+
replay_ctx = ReplayContext.current
|
|
88
|
+
trace_id = parent ? parent[:trace_id] : (replay_ctx&.dig(:trace_id) || SecureRandom.uuid)
|
|
88
89
|
span_id = SecureRandom.uuid
|
|
89
90
|
parent_span_id = parent&.dig(:span_id)
|
|
90
91
|
is_root_span = parent_span_id.nil?
|
|
91
92
|
started_at = Time.now.utc.strftime("%Y-%m-%dT%H:%M:%S.%3NZ")
|
|
92
|
-
|
|
93
|
-
replay_ctx = ReplayContext.current
|
|
94
93
|
resolved_test_run_id = replay_ctx&.dig(:test_run_id)
|
|
95
94
|
resolved_input_source_span_id = replay_ctx&.dig(:input_source_span_id)
|
|
96
95
|
resolved_input_source_trace_id = replay_ctx&.dig(:input_source_trace_id)
|
data/lib/bitfab/replay.rb
CHANGED
|
@@ -22,19 +22,14 @@ module Bitfab
|
|
|
22
22
|
|
|
23
23
|
# Execute a block with replay context set on the current thread.
|
|
24
24
|
# The context is automatically cleared when the block completes.
|
|
25
|
-
|
|
26
|
-
# @param test_run_id [String]
|
|
27
|
-
# @param input_source_span_id [String, nil]
|
|
28
|
-
# @param input_source_trace_id [String, nil]
|
|
29
|
-
# @param mock_tree [Hash{String => Hash}, nil] keyed by "#{key}:#{index}"
|
|
30
|
-
# @param mock_strategy [String, nil] one of MOCK_STRATEGIES
|
|
31
|
-
def with_context(test_run_id:, input_source_span_id: nil, input_source_trace_id: nil,
|
|
25
|
+
def with_context(test_run_id:, input_source_span_id: nil, input_source_trace_id: nil, trace_id: nil,
|
|
32
26
|
mock_tree: nil, mock_strategy: nil)
|
|
33
27
|
previous = Thread.current[REPLAY_CONTEXT_KEY]
|
|
34
28
|
ctx = {
|
|
35
29
|
test_run_id:,
|
|
36
30
|
input_source_span_id:,
|
|
37
|
-
input_source_trace_id
|
|
31
|
+
input_source_trace_id:,
|
|
32
|
+
trace_id:
|
|
38
33
|
}
|
|
39
34
|
if mock_tree
|
|
40
35
|
ctx[:mock_tree] = mock_tree
|
|
@@ -100,9 +95,14 @@ module Bitfab
|
|
|
100
95
|
Bitfab.flush_traces
|
|
101
96
|
|
|
102
97
|
begin
|
|
103
|
-
http_client.complete_replay(test_run_id)
|
|
98
|
+
complete_response = http_client.complete_replay(test_run_id)
|
|
99
|
+
trace_id_map = complete_response&.dig("traceIds") || {}
|
|
100
|
+
result_items.each do |item|
|
|
101
|
+
item[:trace_id] = trace_id_map[item[:trace_id]]
|
|
102
|
+
end
|
|
104
103
|
rescue => e
|
|
105
104
|
warn "Bitfab: Failed to complete replay: #{e.message}"
|
|
105
|
+
result_items.each { |item| item[:trace_id] = nil }
|
|
106
106
|
end
|
|
107
107
|
|
|
108
108
|
{
|
|
@@ -248,11 +248,13 @@ module Bitfab
|
|
|
248
248
|
|
|
249
249
|
fn_result = nil
|
|
250
250
|
fn_error = nil
|
|
251
|
+
sdk_trace_id = SecureRandom.uuid
|
|
251
252
|
|
|
252
253
|
ReplayContext.with_context(
|
|
253
254
|
test_run_id:,
|
|
254
255
|
input_source_span_id:,
|
|
255
256
|
input_source_trace_id:,
|
|
257
|
+
trace_id: sdk_trace_id,
|
|
256
258
|
mock_tree:,
|
|
257
259
|
mock_strategy:
|
|
258
260
|
) do
|
|
@@ -272,7 +274,8 @@ module Bitfab
|
|
|
272
274
|
error: fn_error,
|
|
273
275
|
duration_ms: metrics[:duration_ms],
|
|
274
276
|
tokens: metrics[:tokens],
|
|
275
|
-
model: metrics[:model]
|
|
277
|
+
model: metrics[:model],
|
|
278
|
+
trace_id: sdk_trace_id
|
|
276
279
|
}
|
|
277
280
|
end
|
|
278
281
|
end
|
data/lib/bitfab/version.rb
CHANGED