Skip to content

Latest commit

 

History

History
139 lines (95 loc) · 9.55 KB

CHANGELOG.md

File metadata and controls

139 lines (95 loc) · 9.55 KB

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Please check dev branch.

Changed

  • Upgraded procfs to 0.12 : #144
  • Rollbacked to ubuntu 20.04 as the base docker image : #151, thanks to @demeringo
  • Using github action to tag docker image : #160, thanks to @rossf7

Added

  • New level of abstraction regarding structs managed by Sensors, so we could implement more sensors in an easier way : #149
  • Enable JSON exporter to run as a daemon : #169
  • First building blocks for conditional compilation depending on the OS : #148
  • Mitigation for machines where powercap is not able to feed rapl domain folders, and only has socket ones : #198
  • Experimental support for Windows 10, 11, server 2019 : #74 and #247
  • Added --containers option to JSON exporter : #217

Fixed

  • Kubernetes pods using containerd are now supported : #130, thanks to @rossf7
  • Excluded unrelevant procfs metrics from calculation of cpu cycles consumed by processes : #132
  • Mitigated possible decrepancies between host (rapl) total power usage metric and the sum of per-process power usage metrics : #20, note that some issues show remaining issues on this topic. Further investigation and work needed.
  • Documentation fix for helm install : #136, thanks to @arthurzenika
  • New helm chart values: arguments and backtrace : #139, thanks to @jotak
  • Some documentation typos : #157, thanks to @metacosm
  • Aligning on new clippy rules : #162, thanks to @demeringo
  • Always set last pods check timestamp : #173, thanks to @rossf7
  • Support kubelets using systemd cgroup driver: #146, thanks to @rossf7
  • Fix missing volume in psp (helm chart): #168, thanks to @olevitt
  • Spelling check in documentation : #183, thanks to @irishgordo
  • No more duplicated HELP and TYPE lines in prometheus exporter: #165 and #192
  • Escaping newlines in cmdline: #175, thanks to @uggla

Changed

  • Updated k8s-sync crate to 0.2.3 to get authentication by token feature

Added

  • Riemann exporter now supports mTLS: #103 thanks @uggla !
  • --containers option, in prometheus exporter, tells scaphandre to add labels to metrics related to a docker container or a kubernetes pod, to make getting metrics of a distributed application easier: #84 thanks @rossf7 for the tests, feedbacks, helm configuration and thanks @uggla for the reviews !
  • stdout exporter now allows to choose the number of processes to watch, with the --process-number flag and to filter processes watched thanks to a regex, with the --regex-filter option: #98, thanks @uggla !
  • MetricGenerator includes timestamp in Metrics now : #113

Fixed

  • Added Cargo.lock to the repository: #111
  • Ensured domains names are feteched properly in any case : #114 thanks @PierreRust !

Changed

  • Manipulating flags as a Vec of clap::Arg instead of a HashMap of ExporterOption in exporters: #100, thanks @uggla !
  • Json and Stdout exporters are now using MetricGenerator as an inteface to get metrics properly : #113

Added

  • New MetricGenerator and Metric structs and helper functions to make writing exporters easier. Riemann and Prometheus exporters now share the same code pattern: #79 thanks @uggla !
  • New Warp10 exporter ! #76
  • Updated riemann_client and protobuf crates dependencies #70 thanks @uggla !
  • Successfully tested on AMD CPUs (AMD Ryzen 5 2600X): #55 (requires a kernel 5.11 or later) thanks @barnumbirr and @kamaradclimber !
  • Scaphandre can now be tested locally thanks to a docker-compose stack ! #61 thanks @PierreRust !
  • Added a CITATION file for references: #95 thanks @tstrempel !

Fixed

  • Allowing scaphandre to run even if intel_rapl modules are not found: #65 (needed to run scaphandre on AMD CPUs)
  • Fixed typos and lacks in the documentation: #81, #77, #80 thanks @pierreozoux, @LudovicRousseau, @maethor, @wallet77
  • Moved documentation output to another repository: #94 (documentation is now available here: https://hubblo-org.github.io/scaphandre-documentation)
  • Json exporter has been refactored: #87 thanks @jdrouet !

Added

  • Docker image (hubblo/scaphandre), ubuntu based: #48, thanks @rossf7
  • Helm chart to run scaphandre as a DaemonSet in a kubernetes cluster: #72 - thanks @rossf7
  • JsonExporter, to get metrics in JSON either in stdout or files: #68 - thanks @wallet77
  • RiemannExporter, to send metrics to Riemann monitoring tool: #58 - thanks @uggla
  • --qemu flag on PrometheusExporter, to add a "vmname" label to metrics related to processes that represent qemu-kvm virtual machines: #41 - thanks @uggla
  • Better documentation structure (based on divio's documentation framework and mdbook): #45, result here: https://hubblo-org.github.io/scaphandre-documentation/
  • Automated CI tests including cargo test --all, running on a (bare metal) machine: #62

Fixed

  • Improved QemuExporter documentation: #42 - thanks @uggla

Added

  • -s, --step option added by @Uggla, to specify time step between two measurements, when using StdoutExporter

Removed

  • removed energy_records_to_power_record function from src/sensors/mod.rs. get_records_diff_power_microwatts functions from Topology and CPUSocket should be used instead

Fixed

  • README typos and misusage of english fixed by @Uggla and @florimondmanca
  • @Uggla made init.sh script more robust
  • cleaning of internal structs (records, cpustat, processes) was buggy, it is fixed
  • linux kernels < 5, on intel CPUs (>2012) may me measurable now (fixed kernel modules names check)

Added

  • Exporters and sensors design.
  • Stdout exporter.
  • Prometheus exporter.
  • Powercap_rapl sensor.
  • Qemu exporter.

HELP

Here are the sub-sections that can be included in each release section:

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for soon-to-be removed features.
  • Removed for now removed features.
  • Fixed for any bug fixes.
  • Security in case of vulnerabilities.