http-server-status/internal/pkg/checks/memory.go

27 lines
441 B
Go

package checks
import (
"github.com/mackerelio/go-osstat/memory"
)
type MemmoryConfig struct {
Max float64 `yaml:"max"`
}
type Memory struct {
Config MemmoryConfig
}
func (h Memory) Execute() (ok bool, err error) {
memory, err := memory.Get()
p := float64(100) / float64(memory.Total) * float64(memory.Used)
if p > h.Config.Max {
return false, nil
}
return true, nil
}
func (h Memory) Name() string {
return "Memory usage"
}