Skip to content

Conversation

@vimalk78
Copy link
Collaborator

@vimalk78 vimalk78 commented Oct 6, 2025

Implement health probe endpoints following k8s best practices:

  • Add LiveChecker and ReadyChecker interfaces to service framework
  • Implement IsLive() and IsReady() methods in PowerMonitor using atomic operations
  • Create HealthProbe service with /probe/livez and /probe/readyz endpoints
  • Update K8s daemonset to use new health endpoints instead of /metrics
  • unit tests for health check

  Implement health probe endpoints following k8s best practices:
  - Add LiveChecker and ReadyChecker interfaces to service framework
  - Implement IsLive() and IsReady() methods in PowerMonitor using atomic operations
  - Create HealthProbe service with /probe/livez and /probe/readyz endpoints
  - Update K8s daemonset to use new health endpoints instead of /metrics
  - unit tests for health check

Signed-off-by: Vimal Kumar <[email protected]>
@codecov
Copy link

codecov bot commented Oct 6, 2025

Codecov Report

❌ Patch coverage is 89.21569% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.67%. Comparing base (cfbc40c) to head (a0aa9b5).
⚠️ Report is 18 commits behind head on main.

Files with missing lines Patch % Lines
internal/server/healthprobe.go 87.35% 8 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2331      +/-   ##
==========================================
- Coverage   90.70%   90.67%   -0.04%     
==========================================
  Files          44       45       +1     
  Lines        4852     4954     +102     
==========================================
+ Hits         4401     4492      +91     
- Misses        361      369       +8     
- Partials       90       93       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2025

📊 Profiling reports are ready to be viewed

⚠️ Variability in pprof CPU and Memory profiles
When comparing pprof profiles of Kepler versions, expect variability in CPU and memory. Focus only on significant, consistent differences.

💻 CPU Comparison with base Kepler
File: kepler
Type: cpu
Time: 2025-10-06 06:47:16 UTC
Duration: 120s, Total samples = 4.18s ( 3.48%)
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 0, 0% of 4.18s total
      flat  flat%   sum%        cum   cum%
    -0.12s  2.87%  2.87%     -0.12s  2.87%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  2.87%     -0.11s  2.63%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  2.87%     -0.11s  2.63%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  2.87%     -0.10s  2.39%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
    -0.01s  0.24%  3.11%     -0.10s  2.39%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  3.11%     -0.06s  1.44%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%  3.11%     -0.05s  1.20%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  3.11%     -0.05s  1.20%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  3.11%     -0.05s  1.20%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  3.11%     -0.05s  1.20%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%  3.11%      0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  3.11%     -0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
     0.02s  0.48%  2.63%      0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
         0     0%  2.63%      0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
     0.04s  0.96%  1.67%      0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%  1.67%      0.04s  0.96%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
         0     0%  1.67%     -0.03s  0.72%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0%  1.67%     -0.02s  0.48%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
     0.02s  0.48%  1.20%      0.02s  0.48%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
     0.02s  0.48%  0.72%      0.02s  0.48%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  0.72%      0.02s  0.48%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  0.72%      0.02s  0.48%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
    -0.01s  0.24%  0.96%     -0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectPodMetrics
    -0.01s  0.24%  1.20%     -0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
     0.01s  0.24%  0.96%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
     0.01s  0.24%  0.72%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateContainerPower
     0.01s  0.24%  0.48%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
    -0.01s  0.24%  0.72%     -0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
     0.01s  0.24%  0.48%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
     0.01s  0.24%  0.24%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CmdLine
     0.01s  0.24%     0%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Executable
         0     0%     0%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
         0     0%     0%      0.01s  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
💾 Memory Comparison with base Kepler (Inuse)
File: kepler
Type: inuse_space
Time: 2025-10-06 06:49:16 UTC
Duration: 120.02s, Total samples = 5.05MB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -0.53MB, 10.54% of 5.05MB total
      flat  flat%   sum%        cum   cum%
         0     0%     0%    -2.03MB 40.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%     0%    -2.03MB 40.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%     0%    -2.03MB 40.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%     0%    -2.03MB 40.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%     0%    -1.53MB 30.35%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
   -1.03MB 20.35% 20.35%    -1.03MB 20.35%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
    0.50MB  9.90% 10.45%        1MB 19.81%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0% 10.45%        1MB 19.81%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0% 10.45%    -0.53MB 10.54%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
   -0.50MB  9.99% 20.44%    -0.50MB  9.99%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0% 20.44%    -0.50MB  9.99%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
         0     0% 20.44%    -0.50MB  9.99%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0% 20.44%    -0.50MB  9.99%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0% 20.44%    -0.50MB  9.99%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
   -0.50MB  9.91% 30.35%    -0.50MB  9.91%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateNodePower
         0     0% 30.35%    -0.50MB  9.91%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
    0.50MB  9.91% 20.45%     0.50MB  9.91%  maps.Copy[go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.interface { Energy ; Index int; MaxEnergy github.com/sustainable-computing-io/kepler/internal/device.Energy; Name string; Path string },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
    0.50MB  9.90% 10.54%     0.50MB  9.90%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0% 10.54%    -0.03MB  0.63%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
💾 Memory Comparison with base Kepler (Alloc)
File: kepler
Type: alloc_space
Time: 2025-10-06 06:49:16 UTC
Duration: 120.02s, Total samples = 193.88MB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -19.30MB, 9.96% of 193.88MB total
Dropped 3 nodes (cum <= 0.97MB)
      flat  flat%   sum%        cum   cum%
     -12MB  6.19%  6.19%      -12MB  6.19%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
      -1MB  0.52%  6.70%    -7.87MB  4.06%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
   -6.87MB  3.54% 10.25%    -6.87MB  3.54%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
         0     0% 10.25%     6.02MB  3.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
      -6MB  3.10% 13.34%       -6MB  3.10%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
         0     0% 13.34%    -5.97MB  3.08%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0% 13.34%    -4.49MB  2.32%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
    2.06MB  1.06% 12.28%    -3.95MB  2.04%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
    0.51MB  0.27% 12.02%     3.51MB  1.81%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
    1.50MB  0.77% 11.24%        3MB  1.55%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0% 11.24%    -2.98MB  1.54%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0% 11.24%     2.51MB  1.29%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
   -2.01MB  1.03% 12.28%    -2.01MB  1.03%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
         0     0% 12.28%    -2.01MB  1.03%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0% 12.28%    -2.01MB  1.03%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
         0     0% 12.28%    -1.98MB  1.02%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0% 12.28%    -1.98MB  1.02%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0% 12.28%    -1.98MB  1.02%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
    1.50MB  0.77% 11.50%     1.50MB  0.77%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0% 11.50%     1.50MB  0.77%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0% 11.50%     1.50MB  0.77%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
    1.50MB  0.77% 10.73%     1.50MB  0.77%  maps.Copy[go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.interface { Energy ; Index int; MaxEnergy github.com/sustainable-computing-io/kepler/internal/device.Energy; Name string; Path string },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
         0     0% 10.73%        1MB  0.52%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0% 10.73%        1MB  0.52%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
       1MB  0.52% 10.21%        1MB  0.52%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0% 10.21%        1MB  0.52%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
       1MB  0.52%  9.70%        1MB  0.52%  github.com/sustainable-computing-io/kepler/internal/logger.handlerForFormat.func1
         0     0%  9.70%     0.97MB   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
   -0.03MB 0.015%  9.71%    -0.53MB  0.27%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
         0     0%  9.71%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
    0.50MB  0.26%  9.45%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromCmdLine
         0     0%  9.45%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
         0     0%  9.45%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateContainerPower
    0.50MB  0.26%  9.19%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).signalNewData
   -0.50MB  0.26%  9.45%    -0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*TerminatedResourceTracker[go.shape.*uint8]).Add
   -0.50MB  0.26%  9.71%    -0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.WrapProc (inline)
    0.50MB  0.26%  9.45%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
   -0.47MB  0.24%  9.70%    -0.47MB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  9.70%    -0.47MB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  9.70%    -0.47MB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
   -0.50MB  0.26%  9.96%     0.47MB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh

⬇️ Download the Profiling artifacts from the Actions Summary page

📦 Artifact name: profile-artifacts-2331

🔧 Or use GitHub CLI to download artifacts:

gh run download 18272226677 -n profile-artifacts-2331

@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2025

📊 Profiling reports are ready to be viewed

⚠️ Variability in pprof CPU and Memory profiles
When comparing pprof profiles of Kepler versions, expect variability in CPU and memory. Focus only on significant, consistent differences.

💻 CPU Comparison with base Kepler
File: kepler
Type: cpu
Time: 2025-10-06 07:00:24 UTC
Duration: 120s, Total samples = 3.98s ( 3.32%)
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 0.07s, 1.76% of 3.98s total
Dropped 1 node (cum <= 0.02s)
      flat  flat%   sum%        cum   cum%
         0     0%     0%      0.05s  1.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
    -0.05s  1.26%  1.26%     -0.05s  1.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
     0.04s  1.01%  0.25%      0.04s  1.01%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
     0.02s   0.5%  0.25%     -0.03s  0.75%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
         0     0%  0.25%      0.03s  0.75%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
     0.01s  0.25%   0.5%      0.03s  0.75%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
         0     0%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%   0.5%     -0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
     0.01s  0.25%  0.75%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
    -0.02s   0.5%  0.25%     -0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.WrapProc (inline)
         0     0%  0.25%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/device.(*AggregatedZone).Energy
     0.01s  0.25%   0.5%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/device.Energy.String
     0.01s  0.25%  0.75%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectNodeMetrics
         0     0%  0.75%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateNodePower
         0     0%  0.75%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
     0.01s  0.25%  1.01%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot.func1
         0     0%  1.01%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
    -0.01s  0.25%  0.75%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
         0     0%  0.75%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*TerminatedResourceTracker[go.shape.*uint8]).Add
     0.01s  0.25%  1.01%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
    -0.01s  0.25%  0.75%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
     0.01s  0.25%  1.01%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CmdLine
     0.01s  0.25%  1.26%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Comm
         0     0%  1.26%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
     0.01s  0.25%  1.51%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0%  1.51%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
     0.01s  0.25%  1.76%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0%  1.76%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.newProcess
         0     0%  1.76%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
     0.01s  0.25%  2.01%      0.01s  0.25%  maps.Copy[go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.interface { Energy ; Index int; MaxEnergy github.com/sustainable-computing-io/kepler/internal/device.Energy; Name string; Path string },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
    -0.01s  0.25%  1.76%     -0.01s  0.25%  type:.hash.github.com/sustainable-computing-io/kepler/internal/device.zoneKey
💾 Memory Comparison with base Kepler (Inuse)
File: kepler
Type: inuse_space
Time: 2025-10-06 07:02:24 UTC
Duration: 120.02s, Total samples = 3628.40kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -11.12kB, 0.31% of 3628.40kB total
      flat  flat%   sum%        cum   cum%
  526.13kB 14.50% 14.50%  1550.32kB 42.73%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
 -516.64kB 14.24%  0.26% -1033.28kB 28.48%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
 1024.20kB 28.23% 28.49%  1024.20kB 28.23%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
         0     0% 28.49%  -528.17kB 14.56%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
 -528.17kB 14.56% 13.93%  -528.17kB 14.56%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0% 13.93%  -528.17kB 14.56%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
         0     0% 13.93%   521.54kB 14.37%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0% 13.93%   521.54kB 14.37%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0% 13.93%   521.54kB 14.37%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0% 13.93%   517.04kB 14.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0% 13.93%   517.04kB 14.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0% 13.93%   517.04kB 14.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0% 13.93%   517.04kB 14.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
 -516.64kB 14.24%  0.31%  -516.64kB 14.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  0.31%  -516.64kB 14.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  0.31%  -516.64kB 14.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  0.31%  -516.64kB 14.24%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  0.31%    -4.50kB  0.12%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
💾 Memory Comparison with base Kepler (Alloc)
File: kepler
Type: alloc_space
Time: 2025-10-06 07:02:24 UTC
Duration: 120.02s, Total samples = 170524.42kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 317.71kB, 0.19% of 170524.42kB total
Dropped 2 nodes (cum <= 852.62kB)
      flat  flat%   sum%        cum   cum%
-6652.05kB  3.90%  3.90% -6652.05kB  3.90%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
      10kB 0.0059%  3.90%  4108.96kB  2.41%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
 4096.84kB  2.40%  1.49%  4096.84kB  2.40%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  1.49%  4096.84kB  2.40%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  1.49%  4096.84kB  2.40%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  1.49%  3606.41kB  2.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  1.49%  3606.41kB  2.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  1.49%  3606.41kB  2.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  1.49%  3606.41kB  2.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
 -516.64kB   0.3%  1.80%  3592.32kB  2.11%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
         0     0%  1.80% -3579.75kB  2.10%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%  1.80%  2555.66kB  1.50%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%  1.80%  2029.79kB  1.19%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0%  1.80%  1576.62kB  0.92%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
         0     0%  1.80%  1554.22kB  0.91%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0%  1.80%  1554.22kB  0.91%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
-1536.42kB   0.9%  2.70% -1536.42kB   0.9%  maps.Copy[go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.map[github.com/sustainable-computing-io/kepler/internal/device.EnergyZone]github.com/sustainable-computing-io/kepler/internal/monitor.Usage,go.shape.interface { Energy ; Index int; MaxEnergy github.com/sustainable-computing-io/kepler/internal/device.Energy; Name string; Path string },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
 1536.31kB   0.9%  1.80%  1536.31kB   0.9%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
         0     0%  1.80%  1264.90kB  0.74%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
 1264.90kB  0.74%  1.05%  1264.90kB  0.74%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
 -498.08kB  0.29%  1.35%  1038.22kB  0.61%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
 1026.05kB   0.6%  0.74%  1026.05kB   0.6%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
         0     0%  0.74%  1024.31kB   0.6%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  0.74%  1024.31kB   0.6%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
 1024.31kB   0.6%  0.14%  1024.31kB   0.6%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%  0.14%  1024.31kB   0.6%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
  528.17kB  0.31%  0.17%   528.17kB  0.31%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
  526.13kB  0.31%  0.47%   525.87kB  0.31%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
  516.64kB   0.3%  0.78%   516.64kB   0.3%  github.com/sustainable-computing-io/kepler/internal/device.(*AggregatedZone).Path
         0     0%  0.78%   516.64kB   0.3%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectNodeMetrics
         0     0%  0.78%     -514kB   0.3%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
    -514kB   0.3%  0.48%     -514kB   0.3%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromCmdLine
         0     0%  0.48%     -514kB   0.3%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
 -512.12kB   0.3%  0.18%  -512.12kB   0.3%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateNodePower
 -512.02kB   0.3%  0.12%  -512.02kB   0.3%  github.com/sustainable-computing-io/kepler/internal/logger.handlerForFormat.func1
         0     0%  0.12%  -512.02kB   0.3%  github.com/sustainable-computing-io/kepler/internal/monitor.(*TerminatedResourceTracker[go.shape.*uint8]).Add
  512.02kB   0.3%  0.18%   512.02kB   0.3%  github.com/sustainable-computing-io/kepler/internal/resource.WrapProc (inline)
 -512.01kB   0.3%  0.12%  -512.01kB   0.3%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateContainerPower
  512.01kB   0.3%  0.18%   512.01kB   0.3%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
   17.68kB  0.01%  0.19%    17.68kB  0.01%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  0.19%    17.68kB  0.01%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  0.19%    17.68kB  0.01%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode

⬇️ Download the Profiling artifacts from the Actions Summary page

📦 Artifact name: profile-artifacts-2331

🔧 Or use GitHub CLI to download artifacts:

gh run download 18272242061 -n profile-artifacts-2331

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant