Crate alumet

Source
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:

  1. Accept measurements from input sources.
  2. Transform the measurements.
  3. 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:

  • A runnable application, the agent. See the documentation of the agent module.
  • A set of plugins, which implement the measurement and export operations. Learn how to make plugins by reading the documentation of the plugin module.

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 containing PluginMetadata for static plugins.

Constants§

VERSION