Releases: elba-docker/radvisor
Releases · elba-docker/radvisor
v1.4.0
Added
- Changed license from the MIT License to the GNU General Public License v3.0
- Support for cgroup v2 was added to the Docker container statistics collection.
- Motivation: Cgroup v2 handles accounting for writeback I/O better than cgroup v1, and is slowly replacing cgroup v1 as the more modern system.
- Support: Docker added support for Cgroup v2 in its 20.10 release, and most low-level container runtimes added support for it by the end of 2021. Additionally Cgroup v2 is the default-mounted cgroup version in Ubuntu starting in 21.10, and in most other popular distros starting around 2021.
- Changes:
- The schema for the CSV data in the log-file is different in cgroup v1 and cgroup v2, since the kernel exposes different statistics for each.
- The
CollectorType
log metadata field was added to distinguish whether a log file contains statistics fromcgroup_v1
orcgroup_v2
Cgroup
andCgroupDriver
log metadata fields were moved underCollectorMetadata
- (internal) A new abstraction was introduced,
Collector
, which defines a trait that is used to collect resource utilization statistics for a running target. Bothcgroup_v1::Collector
andcgroup_v2::Collector
implement this trait.
v1.3.1
Added
- Remove support for Windows builds (until actual support for Host Compute Platform is added)
- Add support for specifying the Kubernetes config file:
radvisor run kubernetes --kube-config ~/.kube/config
- Re-enable ZSH completions on the generated Debian package, and add value hints for all relevant CLI options
- (internal) Remove dependency on Nightly Rust and change toolchain to Stable Rust 1.47
- (internal) Use single-threaded Tokio executors to reduce number of kernel threads used at runtime
- (internal) Clean up Makefile builds and unify with CI
v1.3.0
Added
- Block I/O stats have been better-parsed to now be useful as simple scalar values.
- For
blkio.time
andblkio.sectors
, this is a single scalar (representing the total of all devices), while for all other block I/O columns, each category is now split and aggregated into four separate columns for read total, write total, sync total, and async total (for all devices). - For example, the non-scalar column
blkio.service.bytes
is now 4 scalar columns:blkio.service.bytes.read
,blkio.service.bytes.write
,blkio.service.bytes.sync
, andblkio.service.bytes.async
- For
v1.2.2
Added
- Two additional groups of block-io stats have been added:
bfq
andthrottle
, and with them, 4 more logfile columns:blkio.throttle.service.bytes, blkio.throttle.service.ios, blkio.bfq.service.bytes, blkio.bfq.service.ios
Fixed
PolledAt
is now a standard entry on the logfile header. Fixes regression made in v1.1.5 wherePolledAt
no longer appeared on target logfiles created by theDocker
provider
v1.2.1
Added
- The buffer size is now parameterized by providing a
--buffer
option to the main CLI. This buffer size is allocated on the heap for each collection target, and is used to store the CSV records as they are produced. - (internal) Upgraded to clap version
"3.0.0-beta.2"
, removing 1/2 of the dependencies on Git package versions (sys-info-rs) is still depended on
v1.2.0
Added
- Buffer flush logging by providing a
--flush-log
option to the CLI that can be used to enable logging to an in-memory buffer when the collection log file buffers get flushed (and written). This is to provide a record of when rAdvisor consumes resources like file I/O to ensure it doesn't confound experimental results.
v1.1.7
Added
- Debian packaging is now included with every release (#10)
- Man files compiled from source in the
/man
folder - (internal) Additional CLI tool crate in
build/
, calledradvisor-toolbox
, used to generate shell completions and compress docs for packaging - (internal) Enabled additional lint rules in
clippy::nursery
andclippy::pedantic
, along with ensuring compliance across the codebase
v1.1.6
Fixed
- NUL byte bug where read fields in the final output were right-padded with NUL characters, caused by writing the entire buffer
v1.1.5
(YANKED) - do not use
Added
- System information to log metadata, including Linux distribution (if available) and CPU/memory information (#6)
- (internal) Event-based thread communication between the polling and collection threads (#8)
Changed
- Modified the structure of log header metadata to support the migration to event-based thread communication
v1.1.4
Added
- Polling for Docker containers to the Docker daemon, retrieving a list of active, running containers to collect statistics for (
radvisor run docker
) - Polling for Kubernetes pods to the Kubernetes API, determining what the current node the process is running on and collecting pods that are ccurrently running on that node.
- Cgroup-based statistics collection on Linux for collection targets (pods/containers)
- CSVY statistics output with YAML metadata headers and CSV data bodies in
/var/log/radvisor/stats