Crate biometrics

Source
Expand description

§biometrics

Biometrics provide the vitals of a process in the form of counters, gauges, moments, and histograms. Collectively, these sensors paint a picture of what’s happening within a process in timeseries form.

For a prometheus-compatible emitter, see biometrics_prometheus.

§Status

Active development. Biometrics is likely to change in the near future in backwards-incompatible ways. Planned changes will affect how to register sensors in order to solve the dependency graph problem.

§Scope

Biometrics will provide core sensor types and a plaintext emitter for counter, gauge, and moments types. Protocol buffer definitions for sensor readings can be found in the biometrics_pb

§Warts

  • The blue repo currently is not uniform in its register_biometrics functions. The convention is that a public method should not call other public methods.

§Documentation

The latest documentation is always available at docs.rs.

§Updating

  • 0.2.0 -> 0.3.0: API changes to remove ingest_swizzle. It’s recommended to have a crate transitively register its own modules and then have the main function register each crate’s root registration function.

Modules§

moments
Statistical moments.

Structs§

Collector
Collect and register sensors of all types. One registry per sensor type.
Counter
Counter captures a monotonically increasing value.
Gauge
Gauge captures a floating point value.
Histogram
Moments
Moments captures mean, stdev, skewness, and kurtosis.
PlainTextEmitter
An emitter that puts readings one-per-line.

Traits§

Emitter
Emitter outputs the sensor state via I/O.
Sensor
Sensor is the core type of the system. A sensor must be algebraic to be included in this library. An algebraic sensor allows one to take two readings, one on each side of a bucket, and compute the bucket with a single subtraction.