Releases: intel/goresctrl
v0.12.0
What's Changed
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #169
- Fix typo: missing 'the' in README description by @04cb in #172
- build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #170
- go.{mod,sum}: bump otel deps to latest 1.42.0 by @klihub in #173
New Contributors
Full Changelog: v0.11.0...v0.12.0
v0.11.0
This release brings support for OpenTelemetry-based RDT metrics and contains fixes for the Prometheus metrics.
What's Changed
- rdt/prometheus: fix custom labels by @marquiz in #167
- pkg/rdt, cmd/rdt: implement OpenTelemetry-based metrics. by @klihub in #166
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #165
- rdt: correct prometheus metric types by @marquiz in #168
New Contributors
Full Changelog: v0.10.0...v0.11.0
v0.10.0
This release adds support for cstates (#158).
What's Changed
- rdt: use stretchr/testify in unit test asserts by @marquiz in #153
- rdt: test monitoring of ctrl groups by @marquiz in #155
- rdt: correctly count the max number of closids by @marquiz in #154
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #156
- build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #157
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #159
- Makefile: restructure/add .PHONY directives by @marquiz in #160
- Makefile: add target for building cmd binaries by @marquiz in #161
- cstates: add Go interface to sysfs cpuidle by @askervin in #158
- Makefile: make "all" the default target by @marquiz in #162
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #164
- cstates: rework filtering API by @marquiz in #163
Full Changelog: v0.9.0...v0.10.0
v0.9.0
Major changes:
- RDT
- The resctrl filesystem is used as the "database" of classes (CTRL groups) and monitoring groups, instead of an internal cache that was previously used. The available classes are now always read directly from the resctrl filesystem which removes the potential mismatch of between what goresctrl "thinks" and what is actually available. This makes goresctrl aware of changes made outside the goresctrl API, for example.
- The DiscoverClasses() function was dropped and replaced with SetResctrlGroupPrefix() that alters the prefix used for resctrl group (directory) names.
- Migrate to slog based logging. The internal log wrapper was dropped and the
SetLogger()functions now take slog.Logger as the argument. - Improvements in the help/usage of the sample command line applications.
- Improvements in the
rdtsample application, most notably a newmonitorsub-command for testing RDT metrics.
What's Changed
- cmd/rdt: improve help/usage by @marquiz in #136
- cmd/rdt: print to stdout by @marquiz in #138
- Bump golangci-lint to v2.1.6 by @marquiz in #137
- rdt/metrics: drop unused error return value by @marquiz in #139
- Silence linter errcheck errors by @marquiz in #142
- cmd/rdt: add "monitor" sub-command by @marquiz in #140
- rdt: collect control group metrics by @marquiz in #141
- rdt: split ctrl and mon group into a separate file by @marquiz in #143
- rdt: use golang slog for logging by @marquiz in #144
- sst: use golang slog for logging by @marquiz in #145
- blockio: use golang slog for logging by @marquiz in #146
- cmd/rdt: add cmdline flag to control log level by @marquiz in #147
- cmd/blockio: add cmdline flag to control log level by @marquiz in #148
- cmd/sst: improve help and usage by @marquiz in #149
- cmd/sst: add cmdline flag to control log level by @marquiz in #150
- pkg/log: drop unused custom log wrapper by @marquiz in #151
- rdt: don't cache control or monitoring groups by @marquiz in #152
Full Changelog: v0.8.0...v0.9.0
v0.8.0
The v0.8.0 release add functionality for configuring the cpu frequency scaling governor. It also updates build dependencies.
Full Changelog: v0.7.0...v0.8.0
v0.7.0
This small release updates the dependencies and documentation.
What's Changed
- fix RootClassName in doc by @wpross in #123
- github: add top level default permissions to workflows by @marquiz in #124
- github: drop top level write permissions on workflows by @marquiz in #125
- github: update actions to newer versions by @marquiz in #126
- github: update setup-go action to v5 by @marquiz in #127
- github: add new scan-periodic workflow by @marquiz in #128
- rdt: clarify usage of raw bitmasks by @wpross in #129
- build(deps): bump google.golang.org/protobuf from 1.30.0 to 1.33.0 by @dependabot in #130
New Contributors
Full Changelog: v0.6.0...v0.7.0
v0.6.0
This release drops support for configuring the blkio cgroups v1 controller via sysfs. The goresctrl switched to strict yaml parsing of configuration files, failing on unknown fields which helps spotting inadvertent configuration mistakes because of typos, for example. The release also contains small fixes to the Intel SST support.
What's Changed
- sst: fixes to BF error handling by @marquiz in #111
- Improve github workflows by @marquiz in #112
- Fix integer conversions by @marquiz in #113
- Add security.md by @marquiz in #115
- Use strict yaml/json unmarshal for config files by @marquiz in #116
- rdt: use t.Run for running individual test cases by @marquiz in #117
- feat: add some doc by @Rouzip in #114
- Drop cgroupfs support by @marquiz in #118
- sst: add checks for nil pointer args by @marquiz in #119
- sst: add fuzz test for ClosSetup by @marquiz in #120
- github: enhance codeql action to generate pdf report by @marquiz in #121
New Contributors
Full Changelog: v0.5.0...v0.6.0
v0.5.0
This release updates dependencies and drops usage of deprecated library functions.
What's Changed
- Stop using io/ioutil package by @marquiz in #108
- github: bump golangci-lint to v1.54.0 by @marquiz in #109
- go.mod: update deps by @marquiz in #106
- Use golang builtin multierror by @marquiz in #107
- github: use ubuntu-22.04 runners for the CI workflow by @marquiz in #110
Full Changelog: v0.4.0...v0.5.0
v0.4.0
This release brings support for configuring the mount prefix for system directories, in addition to updating dependiencies.
What's Changed
- doc: rdt: fix markdown syntax by @mythi in #97
- go.mod: update dependencies by @marquiz in #99
- remove check minor must be 0 by @sergeimonakhov in #101
- Fix gofmt by @marquiz in #103
- go.mod: update dependencies by @marquiz in #104
- Support configurable mount prefix by @marquiz in #105
New Contributors
- @mythi made their first contribution in #97
- @sergeimonakhov made their first contribution in #101
Full Changelog: v0.3.0...v0.4.0
v0.3.0
This release provides basic support for Intel® Speed Select Technology Base Frequency (SST-BF) and Core Power (SST-CP) as well as basic support for controlling CPU frequency limits through the cpufreq and uncore kernel drivers. In addition, the release contains multiple bug fixes to rdt support.
What's Changed
- rdt/test: consider monitor group creation failure a fatal event by @okartau in #76
- doc: add blockio configuration example by @askervin in #79
- make: Enable gofmt to write changes by @jukkar in #84
- Add support to disable/enable SST-BF by @jukkar in #77
- go.mod: update dependencies by @marquiz in #85
- rdt: add a sample application for the RDT API by @marquiz in #82
- rdt: fix default schemata by @marquiz in #89
- Add an API to change the CPU min/max freq by @jukkar in #90
- sysfs: fix setting of cpufreq attributes by @marquiz in #92
- rdt: handle empty config correctly by @marquiz in #91
- rdt: do not prune mon groups at init by @marquiz in #83
- go.mod: update golang.org/x/sys by @marquiz in #93
- utils: add functions for setting uncore frequency limits by @marquiz in #94
- Add support for SST-CP by @jukkar in #80
- Update to golang v1.18 by @marquiz in #96
- go.mod: update deps by @marquiz in #95
New Contributors
Full Changelog: v0.2.0...v0.3.0