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.
addressalignmentgenerationlenlifecycle_dispositionlifecycle_reasonold_addressold_lenoperationoperation_idowner_cookieparent_operation_idproducerproducer_idreturn_addresssucceeded
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
| Definitions | 1 |
|---|---|
| Public names | 1 |
| Members | 16 |
| Version | 26.7.0 |
| Revision | daab053ee433 |