bitfab 0.23.4 → 0.23.6
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 +12 -0
- data/lib/bitfab/span_context.rb +11 -0
- data/lib/bitfab/version.rb +1 -1
- data/lib/bitfab.rb +4 -0
- 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: fc6488982aa89cb2226e627f80da9bd85a1575bac14728aa81d2d5974c920aae
|
|
4
|
+
data.tar.gz: 519b07afa8c9a7220d730b7bc72b5e8a3cddb037b3e2b70bd36b476c4d400d29
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 362409a4955d1eec6ac5b4c0309a87d65ce9722f517f4cc364931f89fb66adf1a5fe0b4ac1d5a847a7e9d7fc9559c4d2449de03b2c2d9900ded22e317db28518
|
|
7
|
+
data.tar.gz: 735836a1730cf48e2fb5370f755e667bf3912b96a21ca9b97375b7e4e1bfd43e34531e557c5d49f28482dbbe32c091ec5bb08cc86fc9656b4f44a6edd7880b0f
|
data/lib/bitfab/client.rb
CHANGED
|
@@ -469,6 +469,10 @@ module Bitfab
|
|
|
469
469
|
"completed" => true
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
+
if trace_state&.dig(:dropped)
|
|
473
|
+
payload["dropped"] = true
|
|
474
|
+
end
|
|
475
|
+
|
|
472
476
|
if trace_state&.dig(:session_id)
|
|
473
477
|
payload["sessionId"] = trace_state[:session_id]
|
|
474
478
|
end
|
|
@@ -489,6 +493,14 @@ module Bitfab
|
|
|
489
493
|
def send_span(trace_function_key:, trace_id:, span_id:, parent_span_id:,
|
|
490
494
|
span_name:, span_type:, function_name:, contexts:, prompt:, args:, kwargs:, result:, error:,
|
|
491
495
|
started_at:, ended_at:, test_run_id: nil, input_source_span_id: nil)
|
|
496
|
+
# If drop() was called on this trace, suppress the span PAYLOAD upload for
|
|
497
|
+
# every span that completes after the flag was set. The trace completion
|
|
498
|
+
# still rides out with dropped: true, so the server scrubs any sibling
|
|
499
|
+
# spans that already raced out before the flag was set. Returning nil
|
|
500
|
+
# signals "no span thread" to the caller, which already handles nil.
|
|
501
|
+
trace_dropped = TraceState.get(trace_id)&.dig(:dropped) == true
|
|
502
|
+
return nil if trace_dropped
|
|
503
|
+
|
|
492
504
|
# Human-readable JSON (input/output fields). The *_with_report variants
|
|
493
505
|
# also report what could not be faithfully captured so a lossy span is
|
|
494
506
|
# marked non-replayable below instead of shipping as if it round-trips.
|
data/lib/bitfab/span_context.rb
CHANGED
|
@@ -87,6 +87,17 @@ module Bitfab
|
|
|
87
87
|
# Silently ignore - never crash the host app
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
+
# Flag this trace to be dropped. Once flagged, spans that complete afterward
|
|
91
|
+
# are not uploaded at all, and the completion POST carries a top-level
|
|
92
|
+
# dropped: true so the server scrubs any payloads that already raced out and
|
|
93
|
+
# marks the trace dropped. Never raises into caller code.
|
|
94
|
+
def drop
|
|
95
|
+
trace_state = get_or_create_trace_state
|
|
96
|
+
trace_state[:dropped] = true
|
|
97
|
+
rescue
|
|
98
|
+
# Silently ignore - never crash the host app
|
|
99
|
+
end
|
|
100
|
+
|
|
90
101
|
private
|
|
91
102
|
|
|
92
103
|
def get_or_create_trace_state
|
data/lib/bitfab/version.rb
CHANGED
data/lib/bitfab.rb
CHANGED