Files
VictoriaMetrics/lib/appmetrics/osmetrics_linux.go
Max Kotliar 0a31eacb3d lib/{osinfo,appmetrics}: Move vm_os_info metric code to lib/appmetrics package (#10776)
Follow-up commit for
211fb08028

Address @f41gh7 review comments:
- Move code from `lib/osinfo` to `lib/appmetrics`.
- Make the logic private.
- Use metrics.WriteGaugeUint64 func.
- Remove registration logic from `app/xxx/main.go`.
- Remove `lib/osinfo` package.
2026-04-09 18:32:47 +03:00

27 lines
490 B
Go

package appmetrics
import (
"syscall"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
)
func initOS() {
os = osInfo{name: "linux"}
var uname syscall.Utsname
if err := syscall.Uname(&uname); err != nil {
logger.Warnf("vm_os_info metric will miss release info since syscall.Uname failed: %s", err)
return
}
ur := make([]byte, 0, len(uname.Release))
for _, v := range uname.Release {
if v == 0 {
break
}
ur = append(ur, byte(v))
}
os.release = string(ur)
}