@@ -211,7 +211,6 @@ func (p *criStatsProvider) listPodStatsPartiallyFromCRI(ctx context.Context, upd
211
211
p .addPodNetworkStats (ps , podSandboxID , caInfos , cs , containerNetworkStats [podSandboxID ])
212
212
p .addPodCPUMemoryStats (ps , types .UID (podSandbox .Metadata .Uid ), allInfos , cs )
213
213
p .addSwapStats (ps , types .UID (podSandbox .Metadata .Uid ), allInfos , cs )
214
- p .addProcessStats (ps , types .UID (podSandbox .Metadata .Uid ), allInfos , cs )
215
214
216
215
// If cadvisor stats is available for the container, use it to populate
217
216
// container stats
@@ -220,7 +219,9 @@ func (p *criStatsProvider) listPodStatsPartiallyFromCRI(ctx context.Context, upd
220
219
klog .V (5 ).InfoS ("Unable to find cadvisor stats for container" , "containerID" , containerID )
221
220
} else {
222
221
p .addCadvisorContainerStats (cs , & caStats )
222
+ p .addProcessStats (ps , & caStats )
223
223
}
224
+
224
225
ps .Containers = append (ps .Containers , * cs )
225
226
}
226
227
// cleanup outdated caches.
@@ -584,16 +585,11 @@ func (p *criStatsProvider) addSwapStats(
584
585
585
586
func (p * criStatsProvider ) addProcessStats (
586
587
ps * statsapi.PodStats ,
587
- podUID types.UID ,
588
- allInfos map [string ]cadvisorapiv2.ContainerInfo ,
589
- cs * statsapi.ContainerStats ,
588
+ container * cadvisorapiv2.ContainerInfo ,
590
589
) {
591
- // try get process stats from cadvisor only.
592
- info := getCadvisorPodInfoFromPodUID (podUID , allInfos )
593
- if info != nil {
594
- ps .ProcessStats = cadvisorInfoToProcessStats (info )
595
- return
596
- }
590
+ processStats := cadvisorInfoToProcessStats (container )
591
+ // Sum up all of the process stats for each of the containers to obtain the cumulative pod level process count
592
+ ps .ProcessStats = mergeProcessStats (ps .ProcessStats , processStats )
597
593
}
598
594
599
595
func (p * criStatsProvider ) makeContainerStats (
0 commit comments