Recent Releases of alumet

alumet - Alumet v0.8.4

What's Changed

  • feat(plugin-oar2): add attributes to harmonize with other plugins by @ahuret in https://github.com/alumet-dev/alumet/pull/185
  • Fix/fix bugs in energy attribution by @titouanj in https://github.com/alumet-dev/alumet/pull/189
  • bug(core): counter diff corrected difference overflow by @ahuret in https://github.com/alumet-dev/alumet/pull/188
  • Rename cgroup metrics in default config of other plugins by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/192

Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.8.3...v0.8.4

- Rust
Published by TheElectronWill about 1 year ago

alumet - Alumet v0.8.3

This is a fix release for v0.8.2. See the release notes of v0.8.2.

  • Hotfix: more lenient metric registration by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/181 This resolves an issue that prevented the plugins procfs and k8s from being enabled at the same time (among others).

- Rust
Published by TheElectronWill about 1 year ago

alumet - Alumet v0.8.2

What's Changed

Noteworthy: * Bugfixes for influxdb and cgroupv2 plugins * fix(plugin-cgroupv2): Remove bad retry in K8S probe by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/178 * fix(plugin-influxdb): Retry on write error and print server response by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/179 * OpenSearch/ElasticSearch is now directly supported as an output: by @TheElectronWill in https://github.com/alumet-dev/alumet/pull/166 * Some refactoring around cgroup plugins: * refactor(plugin-procfs): standardize plugin-procfs metrics - cpu and memory metrics by @ahuret in https://github.com/alumet-dev/alumet/pull/151 * Refactor cgroupv2 plugin - metrics harmonization by @ahuret in https://github.com/alumet-dev/alumet/pull/152 * Refactor/plugin oar v2 by @AngeCyp in https://github.com/alumet-dev/alumet/pull/143 * Refactor/plugin cgroupv1 for harmonized metrics across plugins by @ahuret in https://github.com/alumet-dev/alumet/pull/160 * refactor(plugin-cgroupv1): factorized code in prevision for slurm submodule by @ahuret in https://github.com/alumet-dev/alumet/pull/169 * refactor(plugin-cgroupv2): k8s submodule - rework TokenRetrieval by @ahuret in https://github.com/alumet-dev/alumet/pull/164

Full Changelog: https://github.com/alumet-dev/alumet/compare/v0.8.1...v0.8.2

- Rust
Published by TheElectronWill about 1 year ago

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

- Rust
Published by TheElectronWill about 1 year 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/plugincgroupv2k8s_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

- Rust
Published by TheElectronWill about 1 year 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

- Rust
Published by TheElectronWill over 1 year 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::userealtimescheduling 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

- Rust
Published by TheElectronWill over 1 year 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 a cgroupv2 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 prepipelinestart 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

- Rust
Published by TheElectronWill over 1 year 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

- Rust
Published by TheElectronWill almost 2 years 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 implements IntoIterator.
  • Other improvements to the plugin API, including more documentation :writing_hand:

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 produces alumet-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

- Rust
Published by TheElectronWill about 2 years 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! :tada: - 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". image

- Rust
Published by TheElectronWill about 2 years ago

alumet - ALUMET v0.2.0

Core changes

  • More documentation!
  • Plugins written in Rust are now created by implementing the rust::AlumetPlugin instead of Plugin. 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 and agent::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.x
  • plugin-rapl is now more robust to errors and gives actionable solutions to common permission issues

- Rust
Published by TheElectronWill about 2 years ago