Recent Releases of ALUMET
ALUMET - Alumet v0.8.1
What's Changed
Main change: he following plugins are now part of the standard agent, as a beta version (they will change in the future): aggregation, energy-attribution, energy-estimation-tdp.
- ci(release): change trigger for CI workflow by @AngeCyp in https://github.com/alumet-dev/alumet/pull/150
- feat(tests): plugin-influxdb- unit tests + integration tests by @ahuret in https://github.com/alumet-dev/alumet/pull/138
- Quick 0.8.1 release by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/158
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.8.0...v0.8.1
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 11 days ago

ALUMET - Alumet v0.8.0
Core changes
- make measurement add_attr public by @guigomcha in https://github.com/alumet-dev/alumet/pull/99
- Alumet core: changes in naming of pipeline elements by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/106
- Extract FFI C interface into a separate crate by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/113
- Core interface for end-to-end plugin testing by @TheElectronWill and @AngeCyp in https://github.com/alumet-dev/alumet/pull/121
- New control API by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/127
- feature(core): Add introspection powers to the pipeline control API by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/134
- Make metric registration more configurable by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/139
- doc: Improve readme of core and repo by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/146
Repository changes
- Reorganize CircleCI workflow and require manual approval for long jobs by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/88
- Markdown lint workflow by @guigomcha in https://github.com/alumet-dev/alumet/pull/78
- Build/create release action by @AngeCyp in https://github.com/alumet-dev/alumet/pull/133
- Add docker images build/push to release action by @ahuret in https://github.com/alumet-dev/alumet/pull/140
Standard agent changes
- agent: Improve exec error message by @AngeCyp in https://github.com/alumet-dev/alumet/pull/71
- The one and only standard agent - unify and expand 🚀 by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/93
- agent: Fix --plugins ignored when config regen by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/108
- Only enable the plugins that are mentioned in the agent config by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/128
Plugin changes
- Feature/plugin_cgroupv2_k8s_memory by @victoryeagle77 in https://github.com/alumet-dev/alumet/pull/63
- Fix/relay client as attribute by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/102
- plugin-tdp: Create metric using the transform builder by @cuttingl in https://github.com/alumet-dev/alumet/pull/86
- plugin-procfs: Automatically increase file descriptors soft limit by @ahuret in https://github.com/alumet-dev/alumet/pull/118
- plugin-mongodb: Test for mongodb plugin helpers by @kelyaenn in https://github.com/alumet-dev/alumet/pull/125
- Feature/add the aggregation transform plugin by @titouanj in https://github.com/alumet-dev/alumet/pull/111
- OpenTelemetry output for OpenSearch demo by @guigomcha in https://github.com/alumet-dev/alumet/pull/117
- plugin-nvidia: collect nvml process metrics by @victoryeagle77 in https://github.com/alumet-dev/alumet/pull/89
- Don't use block_on on the runtime by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/136
- Plugin to export metrics to prometheus by @guigomcha in https://github.com/alumet-dev/alumet/pull/123
- Push interval in opentelemetry plugin by @guigomcha in https://github.com/alumet-dev/alumet/pull/144
- Jetson fixes and upgrades by @victoryeagle77 and @TheElectronWill in https://github.com/alumet-dev/alumet/pull/104
- Fix issue with memory measurements unit by @ahuret in https://github.com/alumet-dev/alumet/pull/145
New Contributors
- @cuttingl made their first contribution in https://github.com/alumet-dev/alumet/pull/76
- @guigomcha made their first contribution in https://github.com/alumet-dev/alumet/pull/78
- @victoryeagle77 made their first contribution in https://github.com/alumet-dev/alumet/pull/63
- @ahuret made their first contribution in https://github.com/alumet-dev/alumet/pull/118
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.7.0...v0.8.0
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 19 days ago

ALUMET - Alumet v0.7.0
Framework changes
- The number of threads can now be configured, by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/77
- Output builders now have read-only access to the MetricRegistry
- Some bugfixes
Agent changes
- Config options can now be passed as environment variable now, by @AngeCyp in https://github.com/alumet-dev/alumet/pull/73
- Release mode is more efficient because trace logs are now disabled at compile-time
Like the previous release, pre-compiled binaries of the agents are attached below.
Plugins changes
- New optimized relay mode (with postcard), by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/67
- New MongoDB plugin, by @kelyaenn in https://github.com/alumet-dev/alumet/pull/68
- New TDP-based estimation plugin, by @ezychlagre in https://github.com/alumet-dev/alumet/pull/62
New Contributors
- @kelyaenn made their first contribution in https://github.com/alumet-dev/alumet/pull/68
- @ezychlagre made their first contribution in https://github.com/alumet-dev/alumet/pull/62
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.6.1...v0.7.0
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 4 months ago

ALUMET - Alumet v0.6.1
Bugfixes
- Refactor and fix the way that CLI arguments are handled by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/51
- core: Make threading::use_realtime_scheduling work with musl by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/57
- fix(plugin_k8s): don't explore folder which don't end with .slice by @AngeCyp in https://github.com/alumet-dev/alumet/pull/61
Minor changes
- docs(README): Add some badges by @titouanj in https://github.com/alumet-dev/alumet/pull/47
- docs(README): Add link to crates.io to the badge by @titouanj in https://github.com/alumet-dev/alumet/pull/48
Pre-compiled binaries
You can find below pre-compiled binaries of the Alumet agents. They are compiled on Ubuntu 22.04 LTS and will work on any system with a glibc version >= 2.35. They include a set of plugins, but not all. Refer to the docs to build your custom Alumet agent and choose the measurement plugins that you want to deploy.
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.6.0...v0.6.1
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 5 months ago

ALUMET - Alumet v0.6.0
What's new in the core
- Big refactoring of Alumet's core library.
- Better error handling and recovery.
- Cleaner builders for pipeline and agent.
- Alumet now supports
async
outputs. - Global metric registry: the metrics can now be accessed from any element of the pipeline (see #19)
- The configuration can now disable individual plugins
- Environment variables can now be used in the config
- More possibilities of control
- More tests
- Bugfixes
Plugin changes
- New plugin: first version (alpha) of the energy attribution plugin, tested on K8S clusters at 1Hz.
- New plugin: system and processes monitoring via
/proc
- The output of the relay client now uses a buffer for better performance.
- The
k8s
plugin has been generalized to acgroupv2
plugin. - The
k8s
plugin handles API tokens a little better. - More config options
Details
- feat/Add a config field for the relay server plugin address by @titouanj in https://github.com/alumet-dev/alumet/pull/26
- Feature/Add some configurations possibility by @titouanj in https://github.com/alumet-dev/alumet/pull/27
- Pipeline rework: global metric registry, simplified tasks and better control by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/19
- Stricter CI checks by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/29
- fix(plugin-influxdb): Skip empty MeasurementBuffers in
write
by @titouanj in https://github.com/alumet-dev/alumet/pull/31 - feat(alumet): Add environment variable interpolation for config files by @titouanj in https://github.com/alumet-dev/alumet/pull/32
- Feature/system and processes monitoring by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/33
- Summer core improvements by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/35
- Allow the config file to disable individual plugins by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/37
- Merge the agents in a single crate by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/38
- Refactor/split k8s from cgroupv2 by @AngeCyp in https://github.com/alumet-dev/alumet/pull/36
- Improvements for the relay mode by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/39
- Fixes for the exec mode by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/41
- doc: Rewrite the readme and add a contributing guide by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/43
- Feature: Add the first implementation of the k8s energy attribution by @titouanj in https://github.com/alumet-dev/alumet/pull/44
- fix(plugin-energy-attribution): Change the cgroup metric name in the pre_pipeline_start by @titouanj in https://github.com/alumet-dev/alumet/pull/45
- Last features and fixes for v0.6 by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/46
New Contributors
- @titouanj made their first contribution in https://github.com/alumet-dev/alumet/pull/26
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.5.0...v0.6.0
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 7 months ago

ALUMET - ALUMET v0.5.0
This new release features the support of Kubernetes clusters and OAR2 clusters.
Plugin changes
- Discovering folders for pods by @AngeCyp in https://github.com/alumet-dev/alumet/pull/3
- Watch new pods created during measures by @AngeCyp in https://github.com/alumet-dev/alumet/pull/5
- Retrieve K8S pods names by @AngeCyp in https://github.com/alumet-dev/alumet/pull/17
- Cgroups v1 and OAR2 Plugin by @sofiaduqueg in https://github.com/alumet-dev/alumet/pull/12
- Improved error messages and RAPL hints by @TheElectronWill
New Contributors
- @sofiaduqueg made their first contribution in https://github.com/alumet-dev/alumet/pull/12
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.4.0...v0.5.0
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 10 months ago

ALUMET - ALUMET v0.4.0
Core changes
- It is now possible to add new measurement sources at runtime, after the pipeline has been built.
- Event handlers now return a
Result
to handle errors more gracefully. - The pipeline now waits for the sources, transforms and outputs to finish before stopping. This allows all the plugins to flush their buffers, avoiding data loss.
- Errors that occur in pipeline elements are handled more effectively.
- Improved ergonomics and robustness of the pipeline builder.
MeasurementBuffer
now implementsIntoIterator
.- Other improvements to the plugin API, including more documentation ✍️
The aforementioned improvements have enabled the creation of two new plugins and one agent feature! (see below) 🎉
Plugin changes
- New:
perf
plugin (#2) for perf_events monitoring and profiling (hardware, software and cache events are supported) - New:
influx
plugin to send measurements to InfluxDB v2 - More options for the
csv
plugin - More options for the
nvidia
plugin - Bug fixes for the
rapl
plugin: it is now more robust to unexpected situations (such as kernel modules not being loaded)
Agent changes
- The
app-agent
crate (that producesalumet-agent
) has a new "exec mode" that spawns and observes a single process. - Both the "normal" alumet agent and the relay agent now suggest to regenerate the configuration file if it is invalid.
- Other improvements to the textual output of the agents.
Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.3.0...v0.4.0
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 12 months ago

ALUMET - ALUMET v0.3.0
Core changes
- Support for anonymous sources
- Configurable command latency guarantee
- Configuration management: 1 config per app ("global config") + 1 config per plugin, from TOML files (can be overriden by CLI arguments)
- Graceful shutdown on SIGTERM
- Other improvements to the plugin API
- Beginning of the
EventBus
for inter-plugin communication - First "good" version of the API for dynamic plugins (still very much WIP)
Plugin changes
The aforementioned improvements have enabled the creation of new plugins! 🎉
- K8S plugin (#1) thanks to @AngeC15
- Relay plugin with two parts (client + server) thanks to @TheElectronWill
- Draft of the "perf events" plugin
Relay plugin
The relay plugin, used by app-relay-collector
, enables Alumet to work in "relay" mode, where each compute node runs an agent that pushes the metrics to a "collector".
Consumption - Computation and Communication
- Rust
Published by TheElectronWill 12 months ago

ALUMET - ALUMET v0.2.0
Core changes
- More documentation!
- Plugins written in Rust are now created by implementing the
rust::AlumetPlugin
instead ofPlugin
. This allows the name and version of static plugins to be available before the initialization phase. - Agent creation is now easier than ever, thanks to
agent::Agent
andagent::AgentBuilder
- Plugins can now register custom units.
- Units can now be prefixed, for example
PrefixedUnit::milli(Ampere)
- More work on configuration files.
Plugin changes
plugin-nvidia
now supports NVIDIA Jetson devices running NVIDIA Jetpack versions 4.x, 5.x and 6.xplugin-rapl
is now more robust to errors and gives actionable solutions to common permission issues
Consumption - Computation and Communication
- Rust
Published by TheElectronWill about 1 year ago
