Skip to content

test: add fake NVML backed for GPU dev/testing#2420

Open
vprashar2929 wants to merge 1 commit intosustainable-computing-io:mainfrom
vprashar2929:fake-gpu
Open

test: add fake NVML backed for GPU dev/testing#2420
vprashar2929 wants to merge 1 commit intosustainable-computing-io:mainfrom
vprashar2929:fake-gpu

Conversation

@vprashar2929
Copy link
Copy Markdown
Collaborator

This commit adds a FakeNVMLBackend that implements the NVMLBackend/NVMLDevice interfaces, enabling GPU feature development and e2e testing without real NVIDIA hardware.

  • Add FakeNVMLBackend and FakeNVMLDevice in nvidia package
  • Add WithNVMLBackend() collector option for backend injection
  • Add dev.fake-gpu-meter config (enabled, deviceCount, sharingMode)
  • Wire fake backend in createGPUMeters() when config is enabled
  • Add bare-metal e2e GPU tests (metrics presence, labels, conservation)
  • Add fake-gpu-meter config to all deployment manifests
  • Update e2e testing docs with gpu_test.go

@github-actions github-actions Bot added the test Adding or updating tests label Feb 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ Config changes detected in this PR
Please make sure that the config changes are updated in the following places as part of this PR:

  • docs/user/configuration.md

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 15, 2026

Codecov Report

❌ Patch coverage is 75.86207% with 21 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.64%. Comparing base (508fdf9) to head (fd8649e).
⚠️ Report is 60 commits behind head on main.

Files with missing lines Patch % Lines
internal/device/gpu/nvidia/fake_backend.go 72.36% 19 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2420      +/-   ##
==========================================
- Coverage   91.91%   91.64%   -0.27%     
==========================================
  Files          54       55       +1     
  Lines        5365     5449      +84     
==========================================
+ Hits         4931     4994      +63     
- Misses        313      332      +19     
- Partials      121      123       +2     

☔ 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
Copy Markdown
Contributor

📊 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
Build ID: 64ca144403c7949c83ae25f01a72a81693b883f8
Type: cpu
Time: 2026-02-15 17:03:47 UTC
Duration: 120s, Total samples = 3.84s ( 3.20%)
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 0, 0% of 3.84s total
      flat  flat%   sum%        cum   cum%
         0     0%     0%      0.09s  2.34%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%     0%     -0.09s  2.34%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
     0.08s  2.08%  2.08%      0.08s  2.08%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  2.08%      0.08s  2.08%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  2.08%      0.08s  2.08%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
         0     0%  2.08%     -0.07s  1.82%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%  2.08%     -0.06s  1.56%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  2.08%     -0.06s  1.56%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  2.08%     -0.06s  1.56%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%  2.08%     -0.05s  1.30%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
    -0.01s  0.26%  1.82%     -0.05s  1.30%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
     0.01s  0.26%  2.08%      0.05s  1.30%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
     0.04s  1.04%  3.12%      0.04s  1.04%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  3.12%      0.04s  1.04%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  3.12%      0.03s  0.78%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
    -0.03s  0.78%  2.34%     -0.03s  0.78%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
    -0.03s  0.78%  1.56%     -0.03s  0.78%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
         0     0%  1.56%      0.02s  0.52%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%  1.56%      0.02s  0.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
         0     0%  1.56%      0.02s  0.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  1.56%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/device.(*AggregatedZone).Energy
    -0.01s  0.26%  1.30%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/device.Energy.String
     0.01s  0.26%  1.56%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/device.sysfsRaplZone.Energy
         0     0%  1.56%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
     0.01s  0.26%  1.82%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectGPUMetrics
    -0.01s  0.26%  1.56%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
    -0.01s  0.26%  1.30%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateContainerPower
    -0.01s  0.26%  1.04%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePodPower
    -0.01s  0.26%  0.78%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot.func1
         0     0%  0.78%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
    -0.01s  0.26%  0.52%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
         0     0%  0.52%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0%  0.52%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
     0.01s  0.26%  0.78%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%  0.78%      0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
    -0.01s  0.26%  0.52%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
    -0.01s  0.26%  0.26%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CmdLine
         0     0%  0.26%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0%  0.26%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
         0     0%  0.26%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
         0     0%  0.26%     -0.01s  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
    -0.01s  0.26%     0%     -0.01s  0.26%  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; Power  },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
💾 Memory Comparison with base Kepler (Inuse)
File: kepler
Build ID: 64ca144403c7949c83ae25f01a72a81693b883f8
Type: inuse_space
Time: 2026-02-15 17:05:47 UTC
Duration: 120.02s, Total samples = 10147.57kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -20.56kB, 0.2% of 10147.57kB total
      flat  flat%   sum%        cum   cum%
         0     0%     0% -1033.19kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%     0% -1033.19kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0%     0% -1033.19kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%     0% -1033.19kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%     0% -1033.19kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%     0% -1033.08kB 10.18%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
 1024.05kB 10.09% 10.09%  1024.05kB 10.09%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0% 10.09%  -528.17kB  5.20%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
 -528.17kB  5.20%  4.89%  -528.17kB  5.20%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0%  4.89%  -528.17kB  5.20%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
         0     0%  4.89%  -521.05kB  5.13%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
 -521.05kB  5.13%  0.25%  -521.05kB  5.13%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  0.25%   516.64kB  5.09%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
  516.64kB  5.09%  4.84%   516.64kB  5.09%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromCmdLine
         0     0%  4.84%   516.64kB  5.09%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
         0     0%  4.84%  -512.14kB  5.05%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%  4.84%  -512.14kB  5.05%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
 -512.14kB  5.05%   0.2%  -512.14kB  5.05%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
  512.14kB  5.05%  4.84%   512.14kB  5.05%  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; Power  },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%  4.84%   503.11kB  4.96%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
 -512.02kB  5.05%   0.2%     0.12kB 0.0012%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%   0.2%     0.12kB 0.0012%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
💾 Memory Comparison with base Kepler (Alloc)
File: kepler
Build ID: 64ca144403c7949c83ae25f01a72a81693b883f8
Type: alloc_space
Time: 2026-02-15 17:05:47 UTC
Duration: 120.02s, Total samples = 191.56MB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 6.14MB, 3.21% of 191.56MB total
Dropped 4 nodes (cum <= 0.96MB)
      flat  flat%   sum%        cum   cum%
         0     0%     0%     5.97MB  3.11%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
       5MB  2.61%  2.61%        5MB  2.61%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  2.61%        5MB  2.61%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  2.61%        5MB  2.61%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  2.61%    -4.99MB  2.60%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%  2.61%     4.97MB  2.60%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  2.61%     4.97MB  2.60%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  2.61%     4.97MB  2.60%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  2.61%     4.97MB  2.60%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
   -4.50MB  2.35%  0.26%    -4.50MB  2.35%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0%  0.26%     2.96MB  1.55%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
    2.64MB  1.38%  1.64%     2.64MB  1.38%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
   -0.50MB  0.26%  1.38%     2.46MB  1.28%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
   -0.50MB  0.26%  1.11%     2.14MB  1.12%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
    2.04MB  1.07%  2.18%     2.04MB  1.07%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  2.18%     2.04MB  1.07%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  2.18%     2.04MB  1.07%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
   -2.04MB  1.06%  1.12%    -2.04MB  1.06%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
    0.50MB  0.26%  1.38%     1.50MB  0.79%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
    1.01MB  0.53%  1.91%     1.01MB  0.53%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateNodePower
         0     0%  1.91%    -0.99MB  0.52%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
   -0.52MB  0.27%  1.64%    -0.52MB  0.27%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0%  1.64%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  1.64%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
    0.50MB  0.26%  1.90%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%  1.90%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
         0     0%  1.90%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
         0     0%  1.90%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
    0.50MB  0.26%  2.16%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
    0.50MB  0.26%  2.42%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CmdLine
    0.50MB  0.26%  2.69%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
    0.50MB  0.26%  2.95%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%  2.95%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0%  2.95%    -0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.newProcess
    0.50MB  0.26%  3.21%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).StringID (inline)
         0     0%  3.21%    -0.49MB  0.26%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot

⬇️ Download the Profiling artifacts from the Actions Summary page

📦 Artifact name: profile-artifacts-2420

🔧 Or use GitHub CLI to download artifacts:

gh run download 22039576676 -n profile-artifacts-2420

@github-actions
Copy link
Copy Markdown
Contributor

📊 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
Build ID: b1c1acf3467f9851601e9fae3c15856121f43ffa
Type: cpu
Time: 2026-02-15 17:20:07 UTC
Duration: 120s, Total samples = 4.01s ( 3.34%)
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -0.01s, 0.25% of 4.01s total
Dropped 1 node (cum <= 0.02s)
      flat  flat%   sum%        cum   cum%
    -0.12s  2.99%  2.99%     -0.12s  2.99%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  2.99%     -0.10s  2.49%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
         0     0%  2.99%     -0.10s  2.49%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  2.99%     -0.10s  2.49%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  2.99%     -0.10s  2.49%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
    -0.01s  0.25%  3.24%     -0.09s  2.24%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  3.24%     -0.08s  2.00%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  3.24%     -0.08s  2.00%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  3.24%     -0.08s  2.00%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%  3.24%      0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%  3.24%     -0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
     0.01s  0.25%  2.99%      0.05s  1.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  2.99%     -0.05s  1.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
     0.05s  1.25%  1.75%      0.05s  1.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0%  1.75%     -0.05s  1.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
    -0.01s  0.25%  2.00%     -0.05s  1.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
         0     0%  2.00%     -0.04s     1%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
     0.01s  0.25%  1.75%      0.04s     1%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
    -0.04s     1%  2.74%     -0.04s     1%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  2.74%     -0.03s  0.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
     0.01s  0.25%  2.49%      0.03s  0.75%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
     0.01s  0.25%  2.24%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
     0.02s   0.5%  1.75%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
     0.02s   0.5%  1.25%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Comm
     0.02s   0.5%  0.75%      0.02s   0.5%  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; Power  },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%   0.5%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
    -0.01s  0.25%  0.75%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
     0.01s  0.25%   0.5%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*TerminatedResourceTracker[go.shape.*uint8]).Add
         0     0%   0.5%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
     0.01s  0.25%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromCmdLine
         0     0%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
💾 Memory Comparison with base Kepler (Inuse)
File: kepler
Build ID: b1c1acf3467f9851601e9fae3c15856121f43ffa
Type: inuse_space
Time: 2026-02-15 17:22:07 UTC
Duration: 120.02s, Total samples = 12724.19kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 1542.46kB, 12.12% of 12724.19kB total
      flat  flat%   sum%        cum   cum%
         0     0%     0%  2070.64kB 16.27%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%     0%  1046.48kB  8.22%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
  512.02kB  4.02%  4.02%  1024.16kB  8.05%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%  4.02%  1024.16kB  8.05%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0%  4.02%  -528.17kB  4.15%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
 -528.17kB  4.15%  0.13%  -528.17kB  4.15%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0%  0.13%  -528.17kB  4.15%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
  525.43kB  4.13%  4.00%   525.43kB  4.13%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
         0     0%  4.00%   521.05kB  4.09%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
  521.05kB  4.09%  8.10%   521.05kB  4.09%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  8.10%   512.14kB  4.02%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
  512.14kB  4.02% 12.12%   512.14kB  4.02%  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; Power  },go.shape.struct { EnergyTotal github.com/sustainable-computing-io/kepler/internal/device.Energy; Power github.com/sustainable-computing-io/kepler/internal/device.Power }] (inline)
 -512.02kB  4.02%  8.10%  -512.02kB  4.02%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
  512.01kB  4.02% 12.12%   512.01kB  4.02%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
💾 Memory Comparison with base Kepler (Alloc)
File: kepler
Build ID: b1c1acf3467f9851601e9fae3c15856121f43ffa
Type: alloc_space
Time: 2026-02-15 17:22:07 UTC
Duration: 120.02s, Total samples = 204994.28kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 14161.07kB, 6.91% of 204994.28kB total
Dropped 2 nodes (cum <= 1024.97kB)
      flat  flat%   sum%        cum   cum%
         0     0%     0% 12296.61kB  6.00%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%     0%  7683.62kB  3.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
         0     0%     0%  7681.16kB  3.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
 7681.16kB  3.75%  3.75%  7681.16kB  3.75%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
         0     0%  3.75%  7662.65kB  3.74%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  3.75%  7662.65kB  3.74%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  3.75%  7662.65kB  3.74%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  3.75%  7662.65kB  3.74%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
 6144.27kB  3.00%  6.74%  6144.27kB  3.00%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
  525.43kB  0.26%  7.00%  3597.98kB  1.76%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
 3585.32kB  1.75%  8.75%  3585.32kB  1.75%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  8.75%  3585.32kB  1.75%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  8.75%  3585.32kB  1.75%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  8.75%  3577.02kB  1.74%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
 1536.13kB  0.75%  9.50%  3072.55kB  1.50%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%  9.50% -2575.32kB  1.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
-3598.68kB  1.76%  7.74% -2574.65kB  1.26%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
   -0.02kB 1.1e-05%  7.74% -2262.06kB  1.10%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
-2262.04kB  1.10%  6.64% -2262.04kB  1.10%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
 1536.42kB  0.75%  7.39%  1536.42kB  0.75%  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; Power  },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%  7.39% -1042.17kB  0.51%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0%  7.39% -1042.17kB  0.51%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
-1028.01kB   0.5%  6.89% -1028.01kB   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
 1024.03kB   0.5%  7.39%  1024.03kB   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.WrapProc (inline)
         0     0%  7.39%   528.17kB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func2
  528.17kB  0.26%  7.65%   528.17kB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromCmdLine
         0     0%  7.65%   528.17kB  0.26%  github.com/sustainable-computing-io/kepler/internal/resource.vmInfoFromProc
 -512.31kB  0.25%  7.40%  -512.31kB  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateNodePower
 -512.23kB  0.25%  7.15%   498.44kB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
   -4.63kB 0.0023%  7.14%   493.81kB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
 -481.93kB  0.24%  6.91%  -481.93kB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  6.91%  -481.93kB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  6.91%  -481.93kB  0.24%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode

⬇️ Download the Profiling artifacts from the Actions Summary page

📦 Artifact name: profile-artifacts-2420

🔧 Or use GitHub CLI to download artifacts:

gh run download 22039657547 -n profile-artifacts-2420

This commit adds a FakeNVMLBackend that implements the NVMLBackend/NVMLDevice
interfaces, enabling GPU feature development and e2e testing without
real NVIDIA hardware.

- Add FakeNVMLBackend and FakeNVMLDevice in nvidia package
- Add WithNVMLBackend() collector option for backend injection
- Add dev.fake-gpu-meter config (enabled, deviceCount, sharingMode)
- Wire fake backend in createGPUMeters() when config is enabled
- Add bare-metal e2e GPU tests (metrics presence, labels, conservation)
- Add fake-gpu-meter config to all deployment manifests
- Update e2e testing docs with gpu_test.go

Signed-off-by: vprashar2929 <vibhu.sharma2929@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

📊 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
Build ID: 8cf875623da14a20b3426e7132f7ca709424b4c5
Type: cpu
Time: 2026-02-16 05:23:01 UTC
Duration: 120s, Total samples = 4s ( 3.33%)
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -0.01s, 0.25% of 4s total
Dropped 1 node (cum <= 0.02s)
      flat  flat%   sum%        cum   cum%
         0     0%     0%     -0.15s  3.75%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%     0%     -0.10s  2.50%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%     0%     -0.10s  2.50%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
         0     0%     0%     -0.07s  1.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%     0%     -0.07s  1.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%     0%     -0.07s  1.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%     0%     -0.07s  1.75%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%     0%      0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
    -0.06s  1.50%  1.50%     -0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  1.50%     -0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
         0     0%  1.50%     -0.06s  1.50%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  1.50%     -0.04s  1.00%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  1.50%     -0.04s  1.00%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
         0     0%  1.50%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  1.50%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
     0.02s   0.5%  1.00%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
         0     0%  1.00%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
         0     0%  1.00%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
     0.02s   0.5%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
    -0.04s  1.00%  1.50%     -0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
     0.02s   0.5%  1.00%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Comm
     0.02s   0.5%   0.5%      0.02s   0.5%  github.com/sustainable-computing-io/kepler/internal/resource.WrapProc (inline)
     0.01s  0.25%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectPodMetrics
    -0.01s  0.25%   0.5%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
    -0.01s  0.25%  0.75%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection
     0.01s  0.25%   0.5%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
     0.01s  0.25%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).Cgroups
         0     0%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
         0     0%  0.25%      0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
         0     0%  0.25%     -0.01s  0.25%  github.com/sustainable-computing-io/kepler/internal/resource.newProcess
💾 Memory Comparison with base Kepler (Inuse)
File: kepler
Build ID: 8cf875623da14a20b3426e7132f7ca709424b4c5
Type: inuse_space
Time: 2026-02-16 05:25:01 UTC
Duration: 120.02s, Total samples = 10592.28kB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for -21.45kB, 0.2% of 10592.28kB total
      flat  flat%   sum%        cum   cum%
         0     0%     0%  2048.29kB 19.34%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%     0%  1536.12kB 14.50%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
         0     0%     0% -1028.70kB  9.71%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
 -512.03kB  4.83%  4.83% -1024.91kB  9.68%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect
         0     0%  4.83%  1024.20kB  9.67%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%  4.83%  1024.20kB  9.67%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
 1024.09kB  9.67%  4.83%  1024.09kB  9.67%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%  4.83%  1024.09kB  9.67%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0%  4.83%  -528.17kB  4.99%  github.com/sustainable-computing-io/kepler/internal/resource.computeTypeInfoFromProc.func1
 -528.17kB  4.99%  0.15%  -528.17kB  4.99%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromCgroupPaths
         0     0%  0.15%  -528.17kB  4.99%  github.com/sustainable-computing-io/kepler/internal/resource.containerInfoFromProc
 -516.64kB  4.88%  5.03%  -516.64kB  4.88%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
 -512.88kB  4.84%  9.87%  -512.88kB  4.84%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
         0     0%  9.87%   512.14kB  4.84%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
  512.14kB  4.84%  5.04%   512.14kB  4.84%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
  512.03kB  4.83%   0.2%   512.03kB  4.83%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0%   0.2%    -4.50kB 0.042%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%   0.2%    -4.50kB 0.042%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%   0.2%    -4.50kB 0.042%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%   0.2%    -4.50kB 0.042%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
💾 Memory Comparison with base Kepler (Alloc)
File: kepler
Build ID: 8cf875623da14a20b3426e7132f7ca709424b4c5
Type: alloc_space
Time: 2026-02-16 05:25:01 UTC
Duration: 120.02s, Total samples = 197.42MB 
Active filters:
   show=github.com/sustainable-computing-io
Showing nodes accounting for 3.54MB, 1.79% of 197.42MB total
Dropped 3 nodes (cum <= 0.99MB)
      flat  flat%   sum%        cum   cum%
   -1.01MB  0.51%  0.51%    -7.03MB  3.56%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh
    6.51MB  3.30%  2.79%     6.51MB  3.30%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).collectProcessMetrics
         0     0%  2.79%    -6.04MB  3.06%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePower
         0     0%  2.79%    -6.04MB  3.06%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).refreshSnapshot
         0     0%  2.79%    -6.04MB  3.06%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh
         0     0%  2.79%    -6.04MB  3.06%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).synchronizedPowerRefresh.func1
         0     0%  2.79%    -6.02MB  3.05%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshProcesses
         0     0%  2.79%     3.50MB  1.77%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*gpuInfoCollector).Collect
         0     0%  2.79%    -3.02MB  1.53%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).scheduleNextCollection.func1
   -3.02MB  1.53%  1.26%    -3.02MB  1.53%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).AllProcs
         0     0%  1.26%    -3.02MB  1.53%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).ensureFreshData
      -3MB  1.52%  0.26%       -3MB  1.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*procWrapper).CPUTime
         0     0%  0.26%       -3MB  1.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).updateProcessCache
         0     0%  0.26%       -3MB  1.52%  github.com/sustainable-computing-io/kepler/internal/resource.populateProcessFields
       3MB  1.52%  1.26%        2MB  1.01%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Process).Clone (inline)
         0     0%  1.26%    -1.52MB  0.77%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).Snapshot
         0     0%  1.26%     1.50MB  0.76%  github.com/sustainable-computing-io/kepler/internal/monitor.(*Snapshot).Clone
         0     0%  1.26%     1.49MB  0.75%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PowerCollector).Collect
    1.02MB  0.52%  1.77%     1.02MB  0.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*procFSReader).CPUUsageRatio
         0     0%  1.77%     1.02MB  0.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).Refresh.func3
         0     0%  1.77%     1.02MB  0.52%  github.com/sustainable-computing-io/kepler/internal/resource.(*resourceInformer).refreshNode
      -1MB  0.51%  1.27%       -1MB  0.51%  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; Power  },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.96MB  0.48%  0.78%    -0.96MB  0.48%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*realProcFS).CPUInfo
         0     0%  0.78%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*PlatformCollector).Collect
         0     0%  0.78%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).ReadAll
    0.50MB  0.26%  1.04%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*PowerReader).readPowerSubsystem
         0     0%  1.04%     0.50MB  0.26%  github.com/sustainable-computing-io/kepler/internal/platform/redfish.(*Service).Power
         0     0%  1.04%     0.50MB  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculatePodPower
    0.50MB  0.25%  1.29%     0.50MB  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*TerminatedResourceTracker[go.shape.*uint8]).Clear (inline)
    0.50MB  0.25%  1.54%     0.50MB  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.newProcess (inline)
   -0.51MB  0.26%  1.28%     0.49MB  0.25%  github.com/sustainable-computing-io/kepler/internal/monitor.(*PowerMonitor).calculateProcessPower
       1MB  0.51%  1.79%     0.04MB 0.023%  github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/collector.(*cpuInfoCollector).Collect

⬇️ Download the Profiling artifacts from the Actions Summary page

📦 Artifact name: profile-artifacts-2420

🔧 Or use GitHub CLI to download artifacts:

gh run download 22051110203 -n profile-artifacts-2420

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

Labels

test Adding or updating tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant