Releases: metacosm/power-server
Releases · metacosm/power-server
0.6.0
What's Changed
- fix: remove cli from jreleaser distribution for now by @metacosm in #326
- refactor: unify configuration properties names by @metacosm in #327
- fix: only add to buffer if not closed by @metacosm in #331
- feat: enable sensors to adjust sampling period if needed by @metacosm in #332
- chore(deps): bump quarkus.platform.version from 3.29.3 to 3.30.0 by @dependabot[bot] in #334
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #335
- fix: properly sample both sensor and external cpu share by @metacosm in #333
- chore: release 0.6.0 by @metacosm in #336
Full Changelog: 0.5.0...0.6.0
Release early-access
Changelog
🚀 Features
- 6731bca separate sensor / cpu streams more cleanly
- d0df53a SensorMeasure can carry an external cpu share, fix persistence
- 01ed1e7 SensorMeasure is now an interface with multiple implementations
- 412a36c make it possible to trigger native builds manually
- 6e076fc enable sensors to adjust sampling period if needed
- 47f5013 add debug information
- 5fd96c7 add jbang catalog
- 5f0dde5 add BOM
- 9d9e841 initial JBang configuration for easier use
- aee379a allow force enabling external CPU share attribution
- 7678741 use external CPU measure if not provided by sensor
- 26079c8 only extract external CPU share if requested
- 445fba8 record index of external CPU share component
- 6b68fee sensors can now "request" CPU sharing and enable it
- 461a53f enable external cpu share recording
- 435d632 add PIDRegistry to record tracked pids & provide them as String
- 5f8109e divide cpu percent by full cpu "potential"
- b07f9d4 only output process consumption if attributed
- 5b8af25 Power uses Totaler directly with automatically selected components
- 575f40c Totaler selects commensurate components if none explicitly given
- f79464b add power computation tests
- 497fab2 read RAPL files via process to control access via sudo
- 154b0ed add possibility to extract CPU share for a process
- 2d00ae3 use configurable size for OutputRecordingProcessHandler
- b1e2052 make buffer size configurable
- f630548 PowerSensor now reports if it performs per-process attribution
- 16bbd00 use start time from process handle for greater accuracy (?)
- ec5b561 add ProcessUtils
- 69d98a1 also release cli as native executable
- a108c2b make dependabot monitor actions updates as well
- 56b8b7b implement DB-backed energy measurement
- 0b65c0b handle whole system "pid" to record total system measures
- fe1c197 do not consider whole system "pid" when extracting measures
- 58889f7 add duration computation and toString implementation
- 8e6ca62 add possibility to get pid
- 8afa1bc allow recording only total system consumption
- 95f7e9a generate default session name from application name
- f0dcf22 backup DB on worker thread instead of main
- 81eecc7 order processes by cpu time
- 0204c48 re-introduce BaseProcessHandler without output support
- 393ee99 NuProcess-based ProcessWrapper implementation
- b823d80 isolate process management code into ProcessWrapper
🐛 Fixes
- e45150a update runner versions
- b68b4f3 use external cpu share from unpersisted measure
- 9dc2a58 remove macos-26 as it conflicts with latest
- da46a8b use macos-15-intel to get an Intel build, add macos-26
- f5364df directly call workflow instead of via steps/runs-on
- 24e34ab remove logging
- 04938aa run on worker pool
- bd1d9a9 do not stop if not started
- 662e6cc remove unreliable last measured end epoch
- 49bcd9b only add to buffer if not closed
- c08e0b3 only perform native build once a week but for each target platform
- cf9e590 correctly add input even after buffer growth, size adequately
- cc4cb29 remove cli from jreleaser distribution for now
- 7708174 timing issue with test
- b82a831 do not cache whether multiple measures are needed
- a505772 correctly record cpu share when enabled
- 27d9c0a properly record cpu share for each process
- 8dab344 properly record raw values as expected by metadata
- 38a3c23 typo
- a1baedd only clear map on error
- 903d726 disable external CPU utilization sampling by default
- 1b54511 failure to extract cpu share should return empty map
- e16c84b make test work in more constrained envs
- 5a66d77 do not attempt to get cpu share if no pids are provided
- 6903f72 duplicated line
- eae9b73 Totaler now prevents mixing attributed & non-attributed components
- e38ff4e ANE is marked as attributed
- 28403f4 register pid before starting sampling
- 9d76c63 do not record missing sensor measure
- 98f7521 duration calculation
- b7157d0 properly compute mW
- a6ed0dc properly register total system measure PID
- fed6246 power computation, improve for testing
- 2aecac7 move logging to debug-level
- bd6285a use sh instead of bash for greater compatibility
- 7a41154 format
- 03dce88 syntax
- 513ddd3 cli is not currently working in native because of JNA usage
- d079a44 paths for upload
- 5d4f5ef ensure total measure is correct and always available
- 5cd033a remove unneeded logging, move useful to debug instead of info
- 3b154de do not persist missing measure
- c332719 track subscriptions to enable cancelling them on pid unregistration
- 53888f6 stop looking for processes when ALL_TASKS is reached
- c5b0028 make things compile again
- 2499d0d ensure first recorded epoch is correct by recording start time
- 800535c ensure proper end time even if none is detected in the output
- 3492af1 properly record the end of the measure and use it
- 48ab076 typo
🔄️ Changes
- 5ca66ca clean-up
- 82d2971 clean-up
- e5a7b1f unify configuration properties names
- 16d1086 use proper property
- 5cc37e2 remove warning
- deefc01 improve logging, though destined to be removed
- 3eb0089 record (for now) full CPU instead of always re-computing it
- b1c9cfd create RegisteredPID via factory
- 40db608 no need to use buffer to extract output
- 5189d3d remove cpu usage methods which only work with current pid
- 3f3722d rename PowerMeasurer to SamplingMeasurer
- b37e4b4 move PowerMeasurer to backend module and reuse in server
- bd6f1fc rename
- be3a436 clean-up
- f06a455 extract powermetrics command preparation code for reuse
- e4191e3 rename BaseProcessHandler to OutputRecordingProcessHandler
- b0bc42c extract BaseProcessHandler for reusability
- b84c9ef remove unneeded field
- 371677b extract ProcessRecord
🧰 Tasks
- 8b433be release 0.6.0
- d2a6e45 deps: bump actions/checkout from 5 to 6
- e1e916f deps: bump quarkus.platform.version from 3.29.3 to 3.30.0
- 5e898db release 0.5.0
- aa1e3b7 deps: bump quarkus.platform.version from 3.29.2 to 3.29.3
- d2ea941 deps: bump org.apache.maven.plugins:maven-jar-plugin
- 73c7cd4 deps: bump org.apache.maven.plugins:maven-release-plugin
- 02a51ab deps: bump quarkus.platform.version from 3.29.1 to 3.29.2
- 91bd165 bump Quarkus to 3.29.1
- 657a43c deps: bump actions/download-artifact from 4 to 6
- 4a2a1af deps: bump actions/upload-artifact from 4 to 5
- 44d637d deps: bump actions/setup-java from 4 to 5
- 501bffc deps: bump actions/checkout from 4 to 5
- f4f26fe deps: bump org.jreleaser:jreleaser-maven-plugin
- 00ae40c deps: bump io.quarkiverse.jdbc:quarkus-jdbc-sqlite4j
- 262ee6f remove now unused Security class
- 876cf96 deps: bump com.zaxxer:nuprocess from 2.0.6 to 3.0.0
- e293e0c bump Quarkus to 3.29.0
- 048b00d deps: bump quarkus.platform.version from 3.28.3 to 3.28.4
- f4e5984 deps: bump me.fabriciorby:maven-surefire-junit5-tree-reporter
- 12a804d deps: bump quarkus.platform.version from 3.28.2 to 3.28.3
📝 Documentation
- 98dcba1 update README and add endpoint documentation
- b367897 [maven-release-plugin] prepare for next development iteration
- 2c6e608 [maven-release-plugin] prepare release 0.5.0
- 43f8c66 set pool max connection to 1
- dd22e48 to remove: add debug logging
- 57c3b71 initial work on implementing DB-backed energy measurement
Contributors
We'd like to thank the following people for their contributions:
Chris Laprun, GitHub Action, andreatp, dependabot[bot]
0.5.0
What's Changed
- chore(deps): bump quarkus.platform.version from 3.28.2 to 3.28.3 by @dependabot[bot] in #278
- chore(deps): bump me.fabriciorby:maven-surefire-junit5-tree-reporter from 1.4.0 to 1.5.1 by @dependabot[bot] in #280
- chore(deps): bump quarkus.platform.version from 3.28.3 to 3.28.4 by @dependabot[bot] in #281
- feat: NuProcess-based isolated process implementation by @metacosm in #283
- chore: bump Quarkus to 3.29.0 by @metacosm in #284
- chore(deps): bump com.zaxxer:nuprocess from 2.0.6 to 3.0.0 by @dependabot[bot] in #285
- fix: typo by @metacosm in #286
- refactor: remove unneeded field by @metacosm in #287
- refactor: extract BaseProcessHandler for reusability by @metacosm in #288
- feat: improve reusability and efficiency of process handling by @metacosm in #289
- fix: properly record the end of the measure and use it by @metacosm in #292
- fix: ensure first recorded epoch is correct by recording start time by @metacosm in #293
- feat: backup DB on worker thread instead of main by @metacosm in #290
- feat: implement DB-backed energy measurement by @metacosm in #294
- chore(deps): bump io.quarkiverse.jdbc:quarkus-jdbc-sqlite4j from 0.0.7 to 0.0.8 by @dependabot[bot] in #291
- fix: do not persist missing measure by @metacosm in #295
- fix: ensure total measure is correct and always available by @metacosm in #296
- refactor: move & rename PowerMeasurer to backend module and reuse in server by @metacosm in #297
- chore(deps): bump org.jreleaser:jreleaser-maven-plugin from 1.20.0 to 1.21.0 by @dependabot[bot] in #298
- feat: make dependabot monitor actions updates as well by @metacosm in #299
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #300
- chore(deps): bump actions/setup-java from 4 to 5 by @dependabot[bot] in #301
- chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #302
- chore(deps): bump actions/download-artifact from 4 to 6 by @dependabot[bot] in #303
- feat: also release cli as native executable by @metacosm in #304
- docs: update README and add endpoint documentation by @metacosm in #305
- set pool max connection to 1 by @andreaTP in #306
- feat: add possibility to extract CPU share for a process by @metacosm in #307
- chore: bump Quarkus to 3.29.1 by @metacosm in #308
- feat: read RAPL files via process to control access via sudo by @metacosm in #309
- refactor: no need to use buffer to extract output by @metacosm in #310
- chore(deps): bump quarkus.platform.version from 3.29.1 to 3.29.2 by @dependabot[bot] in #311
- chore(deps): bump org.apache.maven.plugins:maven-release-plugin from 3.1.1 to 3.2.0 by @dependabot[bot] in #312
- fix: RAPL power computation by @metacosm in #313
- fix: properly register total system measure PID by @metacosm in #314
- feat: Power uses Totaler directly with automatically selected components by @metacosm in #315
- fix: properly compute mW by @metacosm in #316
- fix: multiple issues by @metacosm in #317
- feat: enable external cpu share recording by @metacosm in #318
- feat: use external CPU measure if not provided by sensor by @metacosm in #319
- feat: allow force enabling external CPU share attribution by @metacosm in #320
- chore(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0 by @dependabot[bot] in #322
- chore(deps): bump quarkus.platform.version from 3.29.2 to 3.29.3 by @dependabot[bot] in #321
- feat: initial JBang configuration for easier use by @metacosm in #323
- feat: add BOM by @metacosm in #324
- chore: release 0.5.0 by @metacosm in #325
Full Changelog: 0.3.0...0.5.0
0.3.0
What's Changed
- chore(deps): bump quarkus.platform.version from 3.24.2 to 3.24.3 by @dependabot[bot] in #246
- chore(deps): bump quarkus.platform.version from 3.24.3 to 3.24.4 by @dependabot[bot] in #247
- chore(deps): bump quarkus.platform.version from 3.24.4 to 3.25.0 by @dependabot[bot] in #248
- chore(deps): bump quarkus.platform.version from 3.25.0 to 3.25.1 by @dependabot[bot] in #249
- chore(deps): bump quarkus.platform.version from 3.25.1 to 3.25.2 by @dependabot[bot] in #250
- chore(deps): bump org.assertj:assertj-core from 3.27.3 to 3.27.4 by @dependabot[bot] in #251
- chore(deps): bump quarkus.platform.version from 3.25.2 to 3.25.3 by @dependabot[bot] in #252
- chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 by @dependabot[bot] in #253
- chore(deps): bump quarkus.platform.version from 3.25.3 to 3.26.0 by @dependabot[bot] in #254
- chore(deps): bump quarkus.platform.version from 3.26.0 to 3.26.1 by @dependabot[bot] in #255
- chore(deps): bump org.jreleaser:jreleaser-maven-plugin from 1.19.0 to 1.20.0 by @dependabot[bot] in #256
- chore(deps): bump quarkus.platform.version from 3.26.1 to 3.26.2 by @dependabot[bot] in #257
- chore(deps): bump net.revelc.code.formatter:formatter-maven-plugin from 2.27.0 to 2.28.0 by @dependabot[bot] in #258
- chore(deps): bump quarkus.platform.version from 3.26.2 to 3.26.3 by @dependabot[bot] in #259
- chore(deps): bump net.revelc.code.formatter:formatter-maven-plugin from 2.28.0 to 2.29.0 by @dependabot[bot] in #260
- chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4 by @dependabot[bot] in #261
- chore(deps): bump failsafe plugin to 3.5.4 by @metacosm in #263
- chore(deps): bump quarkus.platform.version from 3.26.3 to 3.28.0 by @dependabot[bot] in #264
- chore(deps): bump org.assertj:assertj-core from 3.27.4 to 3.27.5 by @dependabot[bot] in #265
- chore(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 by @dependabot[bot] in #266
- chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 by @dependabot[bot] in #267
- chore(deps): bump org.assertj:assertj-core from 3.27.5 to 3.27.6 by @dependabot[bot] in #268
- chore(deps): bump quarkus.platform.version from 3.28.0 to 3.28.1 by @dependabot[bot] in #270
- chore(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 by @dependabot[bot] in #269
- wip: record measures in local DB by @metacosm in #213
- chore(deps): bump quarkus.platform.version from 3.28.1 to 3.28.2 by @dependabot[bot] in #271
- fix: clean-up dependencies by @metacosm in #273
- feat: add power CLI command by @metacosm in #272
- feat: extract persistence module by @metacosm in #275
- feat: adapt line parser to handle summary output by @metacosm in #276
- chore: release 0.3.0 by @metacosm in #277
Full Changelog: 0.2.3...0.3.0
0.2.3
What's Changed
- chore(deps): bump quarkus.platform.version from 3.21.2 to 3.21.3 by @dependabot in #227
- chore(deps): bump quarkus.platform.version from 3.21.3 to 3.22.0 by @dependabot in #228
- chore(deps): bump org.jreleaser:jreleaser-maven-plugin from 1.17.0 to 1.18.0 by @dependabot in #230
- chore(deps): bump quarkus.platform.version from 3.22.0 to 3.22.1 by @dependabot in #229
- chore(deps): bump quarkus.platform.version from 3.22.1 to 3.22.2 by @dependabot in #231
- chore(deps): bump quarkus.platform.version from 3.22.2 to 3.22.3 by @dependabot in #232
- chore(deps): bump quarkus.platform.version from 3.22.3 to 3.23.0 by @dependabot in #233
- chore(deps): bump quarkus.platform.version from 3.23.0 to 3.23.1 by @dependabot in #234
- chore(deps): bump quarkus.platform.version from 3.23.1 to 3.23.2 by @dependabot in #235
- chore(deps): bump quarkus.platform.version from 3.23.2 to 3.23.3 by @dependabot in #236
- chore(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.7.0 to 0.8.0 by @dependabot in #237
- chore(deps): bump net.revelc.code.formatter:formatter-maven-plugin from 2.26.0 to 2.27.0 by @dependabot in #240
- fix: checking the streaming endpoint now properly handles the stream by @metacosm in #241
- chore(deps): bump quarkus.platform.version from 3.23.3 to 3.24.1 by @dependabot in #239
- chore(deps): bump org.jreleaser:jreleaser-maven-plugin from 1.18.0 to 1.19.0 by @dependabot in #242
- chore(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 by @dependabot in #244
- chore(deps): bump quarkus.platform.version from 3.24.1 to 3.24.2 by @dependabot in #243
- chore: release 0.2.3 by @metacosm in #245
Full Changelog: 0.2.2...0.2.3
0.2.2
What's Changed
- chore(deps): bump quarkus.platform.version from 3.19.3 to 3.21.0 by @dependabot in #220
- chore(deps): bump net.revelc.code.formatter:formatter-maven-plugin from 2.25.0 to 2.26.0 by @dependabot in #221
- chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.2 to 3.5.3 by @dependabot in #222
- chore(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.2 to 3.5.3 by @dependabot in #223
- chore(deps): bump quarkus.platform.version from 3.21.0 to 3.21.1 by @dependabot in #224
- chore(deps): bump quarkus.platform.version from 3.21.1 to 3.21.2 by @dependabot in #225
- feat: reuse native build workflow to also perform it on PRs by @metacosm in #219
- chore: release 0.2.2 by @metacosm in #226
Full Changelog: 0.2.1...0.2.2
0.2.0
0.1.5
What's Changed
- chore(deps): bump quarkus.platform.version from 3.17.7 to 3.17.8 by @dependabot in #191
- chore(deps): bump quarkus.platform.version from 3.17.8 to 3.18.0 by @dependabot in #192
- feat: provide sampling period information by @metacosm in #193
- fix: improve test robustness by @metacosm in #194
- feat: display metadata / configuration on start by @metacosm in #195
- fix: properly ensure arrays size, avoid writing timestamp several times by @metacosm in #196
- chore(deps): bump quarkus.platform.version from 3.18.0 to 3.18.1 by @dependabot in #197
- fix: move test to appropriate package by @metacosm in #198
- feat: record timestamp and duration on sensor measure by @metacosm in #199
- feat: add cursor notion to retrieve measures based on timestamp by @metacosm in #200
- chore: release 0.1.5 by @metacosm in #201
Full Changelog: 0.1.4...0.1.5
0.1.4
What's Changed
- chore(deps-dev): bump org.assertj:assertj-core from 3.27.1 to 3.27.2 by @dependabot in #182
- chore(deps): bump quarkus.platform.version from 3.17.5 to 3.17.6 by @dependabot in #183
- chore(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.6.0 to 0.7.0 by @dependabot in #184
- chore(deps): bump quarkus.platform.version from 3.17.6 to 3.17.7 by @dependabot in #185
- chore(deps-dev): bump org.assertj:assertj-core from 3.27.2 to 3.27.3 by @dependabot in #186
- fix: do not output documentation info if null by @metacosm in #187
- feat: add access to underlying measure for sub-classes by @metacosm in #188
- feat: add Recorder concept for components that record values by @metacosm in #189
- chore: release 0.1.4 by @metacosm in #190
Full Changelog: 0.1.3...0.1.4