mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2025-10-08 23:24:32 +02:00
.github
api
cmd
configs
init
internal
api
archiver
auth
config
config.go
config_test.go
default_metrics.go
graph
importer
metricDataDispatcher
metricdata
repository
routerConfig
tagger
taskManager
util
pkg
tools
web
.gitignore
.goreleaser.yaml
LICENSE
Makefile
README.md
ReleaseNotes.md
go.mod
go.sum
gqlgen.yml
startDemo.sh
tools.go
45 lines
894 B
Go
45 lines
894 B
Go
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
type DefaultMetricsCluster struct {
|
|
Name string `json:"name"`
|
|
DefaultMetrics string `json:"default_metrics"`
|
|
}
|
|
|
|
type DefaultMetricsConfig struct {
|
|
Clusters []DefaultMetricsCluster `json:"clusters"`
|
|
}
|
|
|
|
func LoadDefaultMetricsConfig() (*DefaultMetricsConfig, error) {
|
|
filePath := "default_metrics.json"
|
|
if _, err := os.Stat(filePath); os.IsNotExist(err) {
|
|
return nil, nil
|
|
}
|
|
data, err := os.ReadFile(filePath)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var cfg DefaultMetricsConfig
|
|
if err := json.Unmarshal(data, &cfg); err != nil {
|
|
return nil, err
|
|
}
|
|
return &cfg, nil
|
|
}
|
|
|
|
func ParseMetricsString(s string) []string {
|
|
parts := strings.Split(s, ",")
|
|
var metrics []string
|
|
for _, p := range parts {
|
|
trimmed := strings.TrimSpace(p)
|
|
if trimmed != "" {
|
|
metrics = append(metrics, trimmed)
|
|
}
|
|
}
|
|
return metrics
|
|
}
|