safing-portbase/metrics/metrics_info.go

41 lines
905 B
Go

package metrics
import (
"runtime"
"strings"
"github.com/safing/portbase/info"
)
func registerInfoMetric() error {
meta := info.GetInfo()
_, err := NewGauge(
"info",
map[string]string{
"version": checkUnknown(meta.Version),
"commit": checkUnknown(meta.Commit),
"build_options": checkUnknown(meta.BuildOptions),
"build_user": checkUnknown(meta.BuildUser),
"build_host": checkUnknown(meta.BuildHost),
"build_date": checkUnknown(meta.BuildDate),
"build_source": checkUnknown(meta.BuildSource),
"go_os": runtime.GOOS,
"go_arch": runtime.GOARCH,
"go_version": runtime.Version(),
"go_compiler": runtime.Compiler,
"comment": commentOption(),
},
func() float64 {
return 1
},
nil,
)
return err
}
func checkUnknown(s string) string {
if strings.Contains(s, "unknown") {
return "unknown"
}
return s
}