Skip to main content

RingTelemetry

Struct RingTelemetry 

Source
pub struct RingTelemetry {
    pub control: ControlSnapshot,
    pub occupancy: RingOccupancy,
    pub slots: Vec<RingSlotSnapshot>,
    pub windows: Vec<WindowTelemetry>,
}
Expand description

Combined host-visible telemetry for a megakernel run.

Fields§

§control: ControlSnapshot

Decoded control-buffer snapshot.

§occupancy: RingOccupancy

Occupancy summary.

§slots: Vec<RingSlotSnapshot>

All decoded slots.

§windows: Vec<WindowTelemetry>

Decoded ticketed windows for any caller-specified window opcodes.

Implementations§

Source§

impl RingTelemetry

Source

pub fn sketch( &self, depth: usize, width: usize, ) -> Result<SketchTelemetry, PipelineError>

Build compact sketches from the decoded telemetry snapshot.

This is the host mirror of the telemetry shape a GPU-resident scheduler/fuzzer can maintain in control memory: hot opcodes, active work, tenant pressure, status pressure, and dispatch metrics all become bounded-size counters with deterministic replay semantics.

§Errors

Returns PipelineError when sketch dimensions are invalid.

Source

pub fn sketch_into( &self, depth: usize, width: usize, scratch: &mut SketchTelemetryScratch, ) -> Result<(), PipelineError>

Build compact sketches into caller-owned scratch.

§Errors

Returns PipelineError when sketch dimensions are invalid.

Source§

impl RingTelemetry

Source

pub fn decode(control_bytes: &[u8], ring_bytes: &[u8]) -> Self

Decode the ring and control buffers into one structured snapshot.

Source

pub fn try_decode( control_bytes: &[u8], ring_bytes: &[u8], ) -> Result<Self, PipelineError>

Strictly decode ring and control bytes after validating ABI alignment.

§Errors

Returns PipelineError when buffers are truncated or not aligned to the megakernel wire protocol.

Source

pub fn decode_with_window_opcodes( control_bytes: &[u8], ring_bytes: &[u8], window_opcodes: &[u32], ) -> Self

Decode the ring and control buffers, additionally grouping any slots whose opcode is present in window_opcodes into ticketed route-window telemetry records.

Source

pub fn decode_with_window_opcodes_into( control_bytes: &[u8], ring_bytes: &[u8], window_opcodes: &[u32], out: &mut Self, scratch: &mut TelemetryDecodeScratch, )

Decode the ring and control buffers into caller-owned telemetry and scratch storage.

Source

pub fn try_decode_with_window_opcodes( control_bytes: &[u8], ring_bytes: &[u8], window_opcodes: &[u32], ) -> Result<Self, PipelineError>

Strictly decode ring/control bytes and group selected window opcodes.

§Errors

Returns PipelineError when buffers are truncated or not aligned to the megakernel wire protocol.

Source

pub fn try_decode_with_window_opcodes_into( control_bytes: &[u8], ring_bytes: &[u8], window_opcodes: &[u32], out: &mut Self, scratch: &mut TelemetryDecodeScratch, ) -> Result<(), PipelineError>

Strictly decode ring/control bytes into caller-owned telemetry and scratch storage.

§Errors

Returns PipelineError when buffers are truncated or not aligned to the megakernel wire protocol.

Source

pub fn active_slots_for_opcode(&self, opcode: u32) -> Vec<&RingSlotSnapshot>

Active slots matching a given opcode.

Source

pub fn try_active_slots_for_opcode( &self, opcode: u32, ) -> Result<Vec<&RingSlotSnapshot>, PipelineError>

Active slots matching a given opcode with fallible output staging.

§Errors

Returns PipelineError when output storage cannot be reserved.

Source

pub fn active_slots_for_opcode_iter( &self, opcode: u32, ) -> impl Iterator<Item = &RingSlotSnapshot>

Active slots matching a given opcode as an iterator.

Source

pub fn active_slots_for_opcode_into<'a>( &'a self, opcode: u32, out: &mut Vec<&'a RingSlotSnapshot>, )

Active slots matching a given opcode into caller-owned storage.

Source

pub fn try_active_slots_for_opcode_into<'a>( &'a self, opcode: u32, out: &mut Vec<&'a RingSlotSnapshot>, ) -> Result<(), PipelineError>

Active slots matching a given opcode into caller-owned storage.

§Errors

Returns PipelineError when output storage cannot be reserved.

Source

pub fn active_windows(&self) -> Vec<&WindowTelemetry>

Unfinished ticketed windows.

Source

pub fn try_active_windows(&self) -> Result<Vec<&WindowTelemetry>, PipelineError>

Unfinished ticketed windows with fallible output staging.

§Errors

Returns PipelineError when output storage cannot be reserved.

Source

pub fn active_windows_into<'a>(&'a self, out: &mut Vec<&'a WindowTelemetry>)

Unfinished ticketed windows into caller-owned storage.

Source

pub fn try_active_windows_into<'a>( &'a self, out: &mut Vec<&'a WindowTelemetry>, ) -> Result<(), PipelineError>

Unfinished ticketed windows into caller-owned storage.

§Errors

Returns PipelineError when output storage cannot be reserved.

Source

pub fn priority_accounting(&self) -> PriorityRequeueAccounting

Summarize priority requeue/aging pressure visible in the ring snapshot.

Source

pub fn runtime_counters(&self) -> MegakernelRuntimeCounters

Aggregate queue, idle, fairness, and drain counters into one cheap runtime snapshot for SRE dashboards and launch-policy feedback.

Source

pub fn health_since( &self, previous: &RingTelemetry, ) -> MegakernelWatchdogSnapshot

Derive persistent-kernel health from two snapshots without polling the device or synchronizing with the GPU.

Source

pub fn recommend_launch( &self, request: MegakernelLaunchRequest, ) -> Result<MegakernelLaunchRecommendation, BackendError>

Feed telemetry into the shared launch policy.

§Errors

Returns a backend error when the supplied adapter limits are malformed.

Trait Implementations§

Source§

impl Clone for RingTelemetry

Source§

fn clone(&self) -> RingTelemetry

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RingTelemetry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RingTelemetry

Source§

fn default() -> RingTelemetry

Returns the “default value” for a type. Read more
Source§

impl PartialEq for RingTelemetry

Source§

fn eq(&self, other: &RingTelemetry) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for RingTelemetry

Source§

impl StructuralPartialEq for RingTelemetry

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more