Configuration file
The file alumet-config.toml
contains the configuration of the Alumet agent.
It is automatically created by Alumet if it does not exist.
Commented example
Here is a commented example of the configuration file that is generated by the agent.
# -- global agent config --
# upper bound of the interval between two updates of the commands received by the measurement sources
max_update_interval = "500ms"
# -- plugins configs, one table per plugin --
[plugins.rapl]
# Interval between each measurement of the RAPL plugin.
# Most plugins that provide measurement sources also provide this configuration option.
# Example: "1s" = 1 second
# Example: "1ms" = 1 millisecond
poll_interval = "1s"
# Measurements are kept in a buffer and are only sent to the next step of the Alumet pipeline
# when the flush interval expires.
flush_interval = "5s"
# Set to "true" to disable perf_events and only use powercap instead.
# By default, the rapl plugin tries to use perf_events, and use powercap if that fails.
no_perf_events = false
[plugins.csv]
# Path to the output file that contains the measurements.
output_path = "alumet-output.csv"
# Flush the file writer after each write operation.
# A "write operation" may contain multiple measurement points.
force_flush = true
# In the "metric" column, append the unit to the name of each metric (except if the unit's name is empty).
# For instance, a metric "energy" with a unit "Joules" (symbol "J") will be serialized as "energy_J".
append_unit_to_metric_name = true
# Use the display name of the units instead of their unique name, as specified by the UCUM.
# See https://ucum.org/ucum for a list of unit and their symbols.
use_unit_display_name = true
# The character to use to separate CSV columns.
csv_delimiter = ";"
[plugins.perf]
# List of hardware perf_events to measure.
hardware_events = ["REF_CPU_CYCLES", "CACHE_MISSES", "BRANCH_MISSES"]
# List of software perf_events to measure.
software_events = []
# List of cache perf_events to measure.
cache_events = ["LL_READ_MISS"]
# NOTE: for the moment, the perf plugin does not monitor the whole machine.
# It provides the ability to monitor a specific process or cgroup, but this
# ability needs to be explicitly turned on by another plugin.
# The Alumet agent automatically does this when run with the `exec` command.
Regenerating the file
When you change the plugins that are included in the agent, or when you install a new version of Alumet,
the configuration options may change. You can replace the existing configuration file by a fresh, updated
version of the configuration by using the regen-config
command.
Example:
alumet-agent regen-config
# Note: replace alumet-agent by the path to the binary application, or by `cargo run --`
Example (if you use cargo run):
cargo run -- regen-config
Command-line arguments
Some command-line arguments override the options defined in the configuration file.
This is the case of --max-update-interval
, which overrides max_update_interval
from the config file.