/* * @author: sre @date: 2023/11/19 0019 @desc: todo * */ package main import "strings" func getLoadInfo(ip, port string) (float64, float64, float64, error) { var node_load1, node_load5, node_load15 float64 data, err := getMetrics(ip, port) if err != nil { return 0, 0, 0, err } // 解析metrics数据 lines := strings.Split(data, "\n") for _, line := range lines { //node_load1 if strings.HasPrefix(line, "node_load1 ") { fields := strings.Fields(line) if len(fields) == 2 { node_load1, err = extractMetricValue(fields[1]) if err != nil { return 0, 0, 0, err } } } //node_load5 if strings.HasPrefix(line, "node_load5 ") { fields := strings.Fields(line) if len(fields) == 2 { node_load1, err = extractMetricValue(fields[1]) if err != nil { return 0, 0, 0, err } } } //node_load15 if strings.HasPrefix(line, "node_load15 ") { fields := strings.Fields(line) if len(fields) == 2 { node_load1, err = extractMetricValue(fields[1]) if err != nil { return 0, 0, 0, err } } } } return node_load1, node_load5, node_load15, nil }