Skip to content

Release early-access

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Nov 14:41
· 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]