opentelemetry-traceable 0.2.0

Per-function, multi-instrumentation, dynamically-configurable tracing library on top of opentelemetry-rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use opentelemetry::Context;
use smallvec::SmallVec;

pub type Envelope = SmallVec<[(u8, Context); 4]>;

/// The slotted envelope carried inside an OpenTelemetry `Context` extension.
///
/// Holds (slot_number, span_context) tuples, used to identify the active span for
/// each slot.
///
/// This is used to hold the state of the in-process traces hierarchy.
/// The distributed slot is not handled here: the parent in that case is "current"
/// span, which `Context` has a dedicated field for.
#[derive(Clone)]
pub struct InProcessParents(pub Envelope);