in custom-metrics-stackdriver-adapter/pkg/adapter/coreprovider/provider.go [95:127]
func (p *CoreProvider) GetNodeMetrics(nodes ...*corev1.Node) ([]metrics.NodeMetrics, error) {
resMetrics := make([]metrics.NodeMetrics, 0, len(nodes))
if len(nodes) == 0 {
return resMetrics, nil
}
nodeNames := []string{}
for _, node := range nodes {
nodeNames = append(nodeNames, node.Name)
}
timeInfos, resourceList, err := p.getNodeMetrics(nodeNames...)
if err != nil {
return []metrics.NodeMetrics{}, err
}
for i, node := range nodes {
resMetrics = append(resMetrics, metrics.NodeMetrics{
ObjectMeta: metav1.ObjectMeta{
Name: node.Name,
Labels: node.Labels,
CreationTimestamp: metav1.Now(),
},
Usage: corev1.ResourceList{
corev1.ResourceCPU: resourceList[i][corev1.ResourceCPU],
corev1.ResourceMemory: resourceList[i][corev1.ResourceMemory],
},
Timestamp: metav1.NewTime(timeInfos[i].Timestamp),
Window: metav1.Duration{Duration: timeInfos[i].Window},
})
}
return resMetrics, nil
}