[][src]Trait metrix::PutsSnapshot

pub trait PutsSnapshot: Send + 'static {
    fn put_snapshot(&self, into: &mut Snapshot, descriptive: bool);
}

Implementors are able to write their current data into given Snapshot.

Guidelines for writing snapshots:

  • A PutsSnapshot that has a name should create a new sub snapshot and add its values there

  • A PutsSnapshot that does not have a name should add its values directly to the given snapshot

  • When descriptive is set to true PutsSnapshot should put its title and description into the same Snapshot it put its values(exception: instruments) thereby not overwriting already existing descriptions so that the more general top level ones survive.

  • When descriptive is set to true on an instrument the instrument should put its description into the snapshot it got passed therby adding the suffixes "_title" and "_description" to its name.

Implementors of this trait can be added to almost all components via the add_snapshooter method which is also defined on trait AggregatesProcessors.

Required methods

fn put_snapshot(&self, into: &mut Snapshot, descriptive: bool)

Puts the current snapshot values into the given Snapshot thereby following the guidelines of PutsSnapshot.

Loading content...

Implementors

impl PutsSnapshot for TelemetryDriver[src]

impl PutsSnapshot for DataDisplay[src]

impl PutsSnapshot for LastOccurrenceTracker[src]

impl PutsSnapshot for ValueMeter[src]

impl PutsSnapshot for ConstantValue[src]

impl PutsSnapshot for Counter[src]

impl PutsSnapshot for Gauge[src]

impl PutsSnapshot for Histogram[src]

impl PutsSnapshot for Meter[src]

impl PutsSnapshot for Flag[src]

impl PutsSnapshot for NonOccurrenceIndicator[src]

impl PutsSnapshot for OccurrenceIndicator[src]

impl PutsSnapshot for StaircaseTimer[src]

impl PutsSnapshot for ProcessorMount[src]

impl<L> PutsSnapshot for Cockpit<L> where
    L: Clone + Eq + Send + 'static, 
[src]

impl<L> PutsSnapshot for GaugeAdapter<L> where
    L: Send + 'static, 
[src]

impl<L> PutsSnapshot for Panel<L> where
    L: Eq + Send + 'static, 
[src]

impl<L> PutsSnapshot for TelemetryProcessor<L> where
    L: Clone + Eq + Send + 'static, 
[src]

impl<L, I> PutsSnapshot for InstrumentAdapter<L, I> where
    L: Send + 'static,
    I: Instrument
[src]

impl<P> PutsSnapshot for PollingInstrument<P> where
    P: PutsSnapshot
[src]

Loading content...