Trait metrix::PutsSnapshot [−][src]
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 totrue
PutsSnapshot
should put itstitle
anddescription
into the sameSnapshot
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 totrue
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
.
Implementors
impl<L> PutsSnapshot for Cockpit<L> where
L: Clone + Eq + Send + 'static,impl PutsSnapshot for TelemetryDriver
impl PutsSnapshot for Counter
impl PutsSnapshot for Gauge
impl PutsSnapshot for Histogram
impl PutsSnapshot for Meter
impl PutsSnapshot for ValueMeter
impl PutsSnapshot for LastOccurrenceTracker
impl<P> PutsSnapshot for PollingInstrument<P> where
P: PutsSnapshot,impl PutsSnapshot for NonOccurrenceIndicator
impl PutsSnapshot for OccurrenceIndicator
impl PutsSnapshot for StaircaseTimer
impl<L> PutsSnapshot for Panel<L> where
L: Send + 'static,impl<L> PutsSnapshot for TelemetryProcessor<L> where
L: Clone + Eq + Send + 'static,impl PutsSnapshot for ProcessorMount