Skip to main content

Envelope

Type Alias Envelope 

Source
pub type Envelope = Envelope<VcsEvents>;
Expand description

One event of this crate: the bus core’s envelope over this vocabulary.

Aliased Type§

pub struct Envelope {
    pub v: u32,
    pub ts: String,
    pub stream: String,
    pub seq: u64,
    pub source: Source,
    pub kind: Kind,
    pub dimensions: Dimensions,
    pub labels: Labels,
    pub payload: Map<String, Value>,
    pub artifacts: Vec<ArtifactRef>,
}

Fields§

§v: u32

The envelope schema version the producer wrote against.

§ts: String

RFC 3339, millisecond precision, UTC.

§stream: String

Unique id of the producing process.

§seq: u64

Monotonic per stream.

§source: Source

What produced the event, in the vocabulary’s words.

§kind: Kind

What happened, as its producer named it.

§dimensions: Dimensions

The vocabulary’s reserved top-level dimensions, carried as named fields here — between kind and labels on the wire — and omitted when absent. [NoDimensions] writes nothing.

§labels: Labels

The reserved keys the vocabulary declares plus free-form extras. Producers stamp what they know; enrichers never rewrite.

§payload: Map<String, Value>

Kind-specific detail. Text fields are bounded by MAX_PAYLOAD_TEXT_BYTES; larger evidence is an [ArtifactRef].

§artifacts: Vec<ArtifactRef>

Evidence stored by the producing library and referenced by id.