...
1
16
17 package metricsutil
18
19 import (
20 corev1 "k8s.io/api/core/v1"
21 metricsapi "k8s.io/metrics/pkg/apis/metrics"
22 )
23
24 type ResourceAdder struct {
25 resources []corev1.ResourceName
26 total corev1.ResourceList
27 }
28
29 func NewResourceAdder(resources []corev1.ResourceName) *ResourceAdder {
30 return &ResourceAdder{
31 resources: resources,
32 total: make(corev1.ResourceList),
33 }
34 }
35
36
37 func (adder *ResourceAdder) AddPodMetrics(m *metricsapi.PodMetrics) {
38 for _, c := range m.Containers {
39 for _, res := range adder.resources {
40 total := adder.total[res]
41 total.Add(c.Usage[res])
42 adder.total[res] = total
43 }
44 }
45 }
46
View as plain text