Skip to main content

Observer

Trait Observer 

Source
pub trait Observer: Send + Sync {
    // Required method
    fn observe(&self, signal: &Signal);

    // Provided methods
    fn observe_labeled(&self, signal: &Signal, labels: &SignalLabels) { ... }
    fn observe_duration(
        &self,
        signal: &Signal,
        duration: Duration,
        labels: &SignalLabels,
    ) { ... }
}
Expand description

Receives signals. Implementations must not block.

Required Methods§

Source

fn observe(&self, signal: &Signal)

Observes a signal without labels.

Provided Methods§

Source

fn observe_labeled(&self, signal: &Signal, labels: &SignalLabels)

Observes a signal with labels. The default drops the labels.

Source

fn observe_duration( &self, signal: &Signal, duration: Duration, labels: &SignalLabels, )

Observes a duration signal (SignalKind::DurationMillis or SignalKind::DurationMicros) with its measured value. The default drops the value and forwards to Observer::observe_labeled.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§