Release early-access
Pre-release
Pre-release
·
11 commits
to main
since this 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]