Crate tacho [−] [src]
A thread-safe, Future
-aware metrics library.
Many programs need to information about runtime performance: the number of requests
served, a distribution of request latency, the number of failures, the number of loop
iterations, etc. tacho
allows application code to record runtime information to a
central Aggregator
that merges data into a Report
.
Performance
We found that the default (cryptographic) Hash
algorithm adds a significant
performance penalty. So the non-cryptographic RandomXxHashBuilder
algorithm is used
by Reporter
and Sample
.
Labels are stored in a BTreeMap
, because they are used as keys in the Report
's
HashMap
(and so we need to be able to derive Hash
on the set of labels).
At times, metric keys must be cloned---specifically, when creating a new entry in a
Sample
or Report
.
Modules
prometheus |
Structs
Aggregator |
Cooperatively aggregates |
CounterKey | |
GaugeKey | |
Metrics | |
Recorder |
Records a batch of metrics to be sent to the |
RecorderFactory |
Produce reusable keys with the receiver's labels. These keys are to be passed to a
short-lived |
Report |
Stores aggregated metrics. |
Sample |
Stores the results from a a |
Scope |
Scopes stats production. |
StatKey |
Describes a key whose values will be histogramed. |
Tacho |
A metrics pipeline. |
Traits
MetricKey | |
Timing |