mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2024-12-25 23:19:06 +01:00
Reformat. Make Metrics a string array.
This commit is contained in:
parent
24c5a80585
commit
1815825206
@ -4,15 +4,15 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
// "context"
|
||||
|
||||
// "context"
|
||||
"encoding/json"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
"time"
|
||||
"sort"
|
||||
"path/filepath"
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
|
||||
type GlobalConfig struct {
|
||||
Sink struct {
|
||||
User string `json:"user"`
|
||||
@ -34,7 +34,7 @@ type GlobalConfig struct {
|
||||
Duration int `json:"duration"`
|
||||
} `json:"node"`
|
||||
} `json:"schedule"`
|
||||
Metrics string `json:"metrics"`
|
||||
Metrics []string `json:"metrics"`
|
||||
CollectorPath string `json:"collector_path"`
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ type CollectorConfig struct {
|
||||
Args string `json:"arguments"`
|
||||
}
|
||||
|
||||
func LoadGlobalConfiguration(file string, config* GlobalConfig) error {
|
||||
func LoadGlobalConfiguration(file string, config *GlobalConfig) error {
|
||||
configFile, err := os.Open(file)
|
||||
defer configFile.Close()
|
||||
if err != nil {
|
||||
@ -54,7 +54,7 @@ func LoadGlobalConfiguration(file string, config* GlobalConfig) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func LoadCollectorConfiguration(file string, config* CollectorConfig) error {
|
||||
func LoadCollectorConfiguration(file string, config *CollectorConfig) error {
|
||||
configFile, err := os.Open(file)
|
||||
defer configFile.Close()
|
||||
if err != nil {
|
||||
@ -102,7 +102,7 @@ func CreatePoint(metricname string, tags map[string]string, fields map[string]in
|
||||
taglist := SortStringStringMap(tags)
|
||||
fieldlist := SortStringInterfaceMap(fields)
|
||||
|
||||
if (len(taglist) > 0) {
|
||||
if len(taglist) > 0 {
|
||||
fmt.Fprintf(&s, "%s,%s %s %d", metricname, strings.Join(taglist, ","), strings.Join(fieldlist, ","), timestamp)
|
||||
} else {
|
||||
fmt.Fprintf(&s, "%s %s %d", metricname, strings.Join(fieldlist, ","), timestamp)
|
||||
@ -137,7 +137,7 @@ func GetSingleCollector(folders *[]string) filepath.WalkFunc {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if (info.IsDir()) {
|
||||
if info.IsDir() {
|
||||
configfile := filepath.Join(path, "config.json")
|
||||
if _, err := os.Stat(configfile); err == nil {
|
||||
*folders = append(*folders, path)
|
||||
@ -157,30 +157,29 @@ func GetCollectorFolders(root string, folders *[]string) error {
|
||||
}
|
||||
|
||||
func main() {
|
||||
// fmt.Println("Hello")
|
||||
// cmd_opts := []string{"la","le","lu"}
|
||||
// cmd := "echo"
|
||||
// s := run_cmd(cmd, cmd_opts)
|
||||
// fmt.Println(s)
|
||||
// tags := map[string]string {
|
||||
// "host" : "broadep2",
|
||||
// }
|
||||
// fields := map[string]interface{} {
|
||||
// "value" : float64(1.0),
|
||||
// }
|
||||
// fmt.Println(CreatePoint("flops_any", tags, fields, time.Now().UnixNano()))
|
||||
// fmt.Println("Hello")
|
||||
// cmd_opts := []string{"la","le","lu"}
|
||||
// cmd := "echo"
|
||||
// s := run_cmd(cmd, cmd_opts)
|
||||
// fmt.Println(s)
|
||||
// tags := map[string]string {
|
||||
// "host" : "broadep2",
|
||||
// }
|
||||
// fields := map[string]interface{} {
|
||||
// "value" : float64(1.0),
|
||||
// }
|
||||
// fmt.Println(CreatePoint("flops_any", tags, fields, time.Now().UnixNano()))
|
||||
var config GlobalConfig
|
||||
LoadGlobalConfiguration("config.json", &config)
|
||||
// fmt.Println(config)
|
||||
|
||||
var folders []string
|
||||
GetCollectorFolders(config.CollectorPath, &folders)
|
||||
// fmt.Println(folders)
|
||||
|
||||
for _, path := range folders {
|
||||
var col_config CollectorConfig
|
||||
configfile := filepath.Join(path, "config.json")
|
||||
LoadCollectorConfiguration(configfile, &col_config)
|
||||
cmd := filepath.Join(path, col_config.Command)
|
||||
stdout := run_cmd(cmd, col_config.Args)
|
||||
LoadCollectorConfiguration(filepath.Join(path, "config.json"), &col_config)
|
||||
stdout := run_cmd(filepath.Join(path, col_config.Command), col_config.Args)
|
||||
|
||||
metrics := strings.Split(stdout, "\n")
|
||||
for _, m := range metrics {
|
||||
if len(m) > 0 {
|
||||
@ -193,7 +192,5 @@ func main() {
|
||||
fmt.Println("SEND", m)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user