Skip to main content

Telemetry

Enum Telemetry 

Source
pub enum Telemetry {
    ParameterValue {
        port: PortId,
        parameter: ParameterId,
        value: f32,
        timestamp: u64,
    },
    SignalData {
        node_id: NodeId,
        channel: usize,
        data: Vec<f32>,
        timestamp: u64,
        sample_rate: f32,
    },
    Peak {
        port: PortId,
        value: f32,
        timestamp: u64,
        hold_time_ms: Option<u32>,
    },
    Event {
        source: String,
        kind: String,
        data: Vec<f32>,
        timestamp: u64,
        description: Option<String>,
    },
    Violation {
        component: String,
        expected_ns: u64,
        actual_ns: u64,
        value: Option<f32>,
        timestamp: u64,
    },
}
Expand description

Telemetry data emitted by signal graph nodes.

Variants§

§

ParameterValue

A parameter value change.

Fields

§port: PortId

Target port.

§parameter: ParameterId

Target parameter.

§value: f32

Current parameter value.

§timestamp: u64

Unix timestamp (microseconds).

§

SignalData

Audio or sensor signal data.

Fields

§node_id: NodeId

Source node ID.

§channel: usize

Channel index.

§data: Vec<f32>

Signal sample data.

§timestamp: u64

Unix timestamp (microseconds).

§sample_rate: f32

Sample rate of the signal.

§

Peak

Peak value reading.

Fields

§port: PortId

Target port.

§value: f32

Peak value.

§timestamp: u64

Unix timestamp (microseconds).

§hold_time_ms: Option<u32>

Optional hold time in milliseconds.

§

Event

Named event with float payload.

Fields

§source: String

Source component name.

§kind: String

Event kind string.

§data: Vec<f32>

Event data payload.

§timestamp: u64

Unix timestamp (microseconds).

§description: Option<String>

Optional human-readable description.

§

Violation

Micro-control timing violation.

Fields

§component: String

Component that exceeded its time budget.

§expected_ns: u64

Expected execution time (nanoseconds).

§actual_ns: u64

Actual execution time (nanoseconds).

§value: Option<f32>

Optional associated value.

§timestamp: u64

Unix timestamp (microseconds).

Implementations§

Source§

impl Telemetry

Source

pub fn now() -> u64

Return the current Unix time in microseconds.

Source

pub fn parameter(port: PortId, parameter: ParameterId, value: f32) -> Self

Create a parameter value telemetry event.

Source

pub fn parameter_with_time( port: PortId, parameter: ParameterId, value: f32, timestamp: u64, ) -> Self

Create a parameter value telemetry event with an explicit timestamp (for testing).

Source

pub fn signal(node_id: NodeId, channel: usize, data: Vec<f32>) -> Self

Create a signal data telemetry event.

Source

pub fn signal_with_sample_rate( node_id: NodeId, channel: usize, data: Vec<f32>, sample_rate: f32, ) -> Self

Create a signal data telemetry event with an explicit sample rate.

Source

pub fn peak(port: PortId, value: f32) -> Self

Create a peak value telemetry event.

Source

pub fn peak_with_hold(port: PortId, value: f32, hold_time_ms: u32) -> Self

Create a peak value telemetry event with a hold time.

Source

pub fn event( source: impl Into<String>, kind: impl Into<String>, data: Vec<f32>, ) -> Self

Create an event telemetry event.

Source

pub fn event_with_description( source: impl Into<String>, kind: impl Into<String>, data: Vec<f32>, description: impl Into<String>, ) -> Self

Create an event telemetry event with a description.

Source

pub fn violation( component: impl Into<String>, expected_ns: u64, actual_ns: u64, value: Option<f32>, ) -> Self

Create a micro-control violation telemetry event.

Source

pub fn kind(&self) -> TelemetryKind

Return the telemetry type category.

Source

pub fn timestamp(&self) -> u64

Return the timestamp (microseconds since Unix epoch).

Trait Implementations§

Source§

impl Clone for Telemetry

Source§

fn clone(&self) -> Telemetry

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 Telemetry

Source§

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

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

impl Display for Telemetry

Source§

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

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

impl Command for Telemetry

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> AsAny for T
where T: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert to &dyn std::any::Any
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert to &mut dyn std::any::Any
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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V