Skip to content

Releases: metacosm/power-server

0.6.0

25 Nov 16:45

Choose a tag to compare

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

25 Nov 14:41

Choose a tag to compare

Release early-access Pre-release
Pre-release

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

18 Nov 14:49

Choose a tag to compare

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

09 Oct 08:01

Choose a tag to compare

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

02 Jul 16:45

Choose a tag to compare

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

10 Apr 20:02

Choose a tag to compare

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

05 Feb 16:56

Choose a tag to compare

What's Changed

Full Changelog: 0.1.5...0.2.0

0.1.5

29 Jan 21:37

Choose a tag to compare

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

21 Jan 14:08

Choose a tag to compare

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