Expand description
ALUMET: Adaptive, Lightweight, Unified Metrics.
Alumet is a tool that allows you to measure things: cpu usage, energy consumption, etc.
Unlike other measurement tools, Alumet is a modular framework.
The alumet
crate enables you to create a bespoke tool with specific
probes (for example RAPL energy counters or perf profiling data),
transformation functions (such as mathematical models), and outputs (such as a timeseries database).
§This crate
This crate provides the customizable measurement core.
In particular, it offers a measurement pipeline with three steps:
- Accept measurements from input sources.
- Transform the measurements.
- Write the measurements to outputs.
The pipeline is backed by asynchronous Tokio tasks. It is designed to be generic, reconfigurable and efficient. It can support a high number of sources and run them at high frequencies (e.g. above 1000 Hz). Benchmarks will be provided in the future.
§Agents and plugins
Customization is made possible thanks to a plugin system. The Alumet core does not measure anything by itself. Instead, plugins provide the Sources, transform functions and outputs of the measurement pipeline.
To do something useful with Alumet, you need:
Modules§
- agent
- Helpers for creating a runnable application based on Alumet, aka an “Alumet agent”.
- measurement
- Measurement points and buffers.
- metrics
- Definition and management of metrics.
- pipeline
- Asynchronous and modular measurement pipeline.
- plugin
- Static and dynamic plugins.
- resources
- Resources (measurement perimeter).
- units
- Definition of measurement units.
Macros§
- static_
plugins - Creates a
Vec
containingPluginMetadata
for static plugins.