Skip to documentation
SLOP

alloc_observe.Event

Reference alloc_observe Event

Internal implementation documentation

Defined in alloc_observe.

An Event is a by-value notification delivered at span finish.

API (16)

Fields and members

Public fields and members.

No direct callersNo direct callsalloc_observeEvent
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/alloc/observe/src/protocol.zig:177

zig
/// An `Event` is a by-value notification delivered at span finish. This/// notification conveys caller-supplied data rather than proof of actual/// storage. Numeric addresses are diagnostic, providing no ownership,/// capability, or dereference guarantee after an allocation expires. Ordinary/// spans set lifecycle tags to none.////// The exact fields and their meanings are:////// - `operation_id`: operation identifier assigned at begin./// - `parent_operation_id`: identifier of the enclosing span or context on the///   current thread, or zero if none exists./// - `producer_id`: numeric identifier of the producer./// - `producer`: kind of producer./// - `generation`: owner-supplied lifetime number./// - `owner_cookie`: owner association value./// - `operation`: executed allocation or lifecycle operation./// - `lifecycle_disposition`: lifecycle disposition tag, set to none for///   ordinary spans./// - `lifecycle_reason`: lifecycle reason tag, set to none for ordinary spans./// - `address`: result address supplied to finish./// - `old_address`: prior address before the operation./// - `len`: requested or new length./// - `old_len`: prior length before the operation./// - `alignment`: alignment in bytes./// - `return_address`: caller instruction address./// - `succeeded`: producer result flag indicating success or failure.////// When `beginLifecycle` opens a span, it sets old_address, old_len, and len to/// zero, and alignment to one byte. That initialization does not dictate the/// final result address supplied to finish. Nested spans on the same thread/// deliver inner spans before outer spans, so operation identifiers do not/// increase in delivery order. Concurrent callbacks have no globally serialized/// order across threads. A silent context reserves an operation identifier but/// emits no event, so a parent operation identifier can lack a matching event.pub const Event = struct {    operation_id: u64,    parent_operation_id: u64,    producer_id: u64,    producer: Producer,    generation: u64,    owner_cookie: usize,    operation: Operation,    lifecycle_disposition: LifecycleDisposition,    lifecycle_reason: LifecycleReason,    address: usize,    old_address: usize,    len: usize,    old_len: usize,    alignment: usize,    return_address: usize,    succeeded: bool,};

Source: lib/alloc/observe/src/root.zig:342

zig
/// An `Event` is a by-value notification delivered at span finish. This/// notification conveys caller-supplied data rather than proof of actual/// storage. Numeric addresses are diagnostic, providing no ownership,/// capability, or dereference guarantee after an allocation expires. Ordinary/// spans set lifecycle tags to none.////// The exact fields and their meanings are:////// - `operation_id`: operation identifier assigned at begin./// - `parent_operation_id`: identifier of the enclosing span or context on the///   current thread, or zero if none exists./// - `producer_id`: numeric identifier of the producer./// - `producer`: kind of producer./// - `generation`: owner-supplied lifetime number./// - `owner_cookie`: owner association value./// - `operation`: executed allocation or lifecycle operation./// - `lifecycle_disposition`: lifecycle disposition tag, set to none for///   ordinary spans./// - `lifecycle_reason`: lifecycle reason tag, set to none for ordinary spans./// - `address`: result address supplied to finish./// - `old_address`: prior address before the operation./// - `len`: requested or new length./// - `old_len`: prior length before the operation./// - `alignment`: alignment in bytes./// - `return_address`: caller instruction address./// - `succeeded`: producer result flag indicating success or failure.////// When `beginLifecycle` opens a span, it sets old_address, old_len, and len to/// zero, and alignment to one byte. That initialization does not dictate the/// final result address supplied to finish. Nested spans on the same thread/// deliver inner spans before outer spans, so operation identifiers do not/// increase in delivery order. Concurrent callbacks have no globally serialized/// order across threads. A silent context reserves an operation identifier but/// emits no event, so a parent operation identifier can lack a matching event.pub const Event = protocol.Event;

Audit

Definitions1
Public names1
Members16
Version26.7.0
Revisiondaab053ee433