Skip to content

Commit

Permalink
Merge pull request #519 from mackerelio/loadavg-1-5-15
Browse files Browse the repository at this point in the history
add loadavg1 and loadavg15
  • Loading branch information
itchyny authored Aug 30, 2018
2 parents 2498f2a + cd15e98 commit 6d24cc9
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 36 deletions.
2 changes: 1 addition & 1 deletion command/command_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func interfaceGenerator() spec.InterfaceGenerator {

func metricsGenerators(conf *config.Config) []metrics.Generator {
generators := []metrics.Generator{
&metrics.Loadavg5Generator{},
&metrics.LoadavgGenerator{},
&metricsDarwin.CPUUsageGenerator{},
&metricsDarwin.MemoryGenerator{},
&metrics.FilesystemGenerator{IgnoreRegexp: conf.Filesystems.Ignore.Regexp, UseMountpoint: conf.Filesystems.UseMountpoint},
Expand Down
2 changes: 1 addition & 1 deletion command/command_freebsd.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func interfaceGenerator() spec.InterfaceGenerator {

func metricsGenerators(conf *config.Config) []metrics.Generator {
generators := []metrics.Generator{
&metrics.Loadavg5Generator{},
&metrics.LoadavgGenerator{},
&metricsFreebsd.CPUUsageGenerator{},
&metrics.FilesystemGenerator{IgnoreRegexp: conf.Filesystems.Ignore.Regexp, UseMountpoint: conf.Filesystems.UseMountpoint},
&metricsFreebsd.MemoryGenerator{},
Expand Down
2 changes: 1 addition & 1 deletion command/command_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func interfaceGenerator() spec.InterfaceGenerator {

func metricsGenerators(conf *config.Config) []metrics.Generator {
generators := []metrics.Generator{
&metrics.Loadavg5Generator{},
&metrics.LoadavgGenerator{},
&metricsLinux.CPUUsageGenerator{Interval: metricsInterval},
&metricsLinux.MemoryGenerator{},
&metrics.InterfaceGenerator{Interval: metricsInterval},
Expand Down
2 changes: 1 addition & 1 deletion command/command_netbsd.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func interfaceGenerator() spec.InterfaceGenerator {

func metricsGenerators(conf *config.Config) []metrics.Generator {
generators := []metrics.Generator{
&metrics.Loadavg5Generator{},
&metrics.LoadavgGenerator{},
&metricsNetbsd.CPUUsageGenerator{},
&metrics.FilesystemGenerator{IgnoreRegexp: conf.Filesystems.Ignore.Regexp, UseMountpoint: conf.Filesystems.UseMountpoint},
&metricsNetbsd.MemoryGenerator{},
Expand Down
33 changes: 33 additions & 0 deletions metrics/loadavg.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// +build !windows

package metrics

import (
"github.com/mackerelio/go-osstat/loadavg"
"github.com/mackerelio/golib/logging"
)

// loadavg
// - loadavg1: load average per 1 minutes
// - loadavg5: load average per 5 minutes
// - loadavg15: load average per 15 minutes

// LoadavgGenerator generates load average values
type LoadavgGenerator struct {
}

var loadavgLogger = logging.GetLogger("metrics.loadavg")

// Generate load averages
func (g *LoadavgGenerator) Generate() (Values, error) {
loadavgs, err := loadavg.Get()
if err != nil {
loadavgLogger.Errorf("%s", err)
return nil, err
}
return Values{
"loadavg1": loadavgs.Loadavg1,
"loadavg5": loadavgs.Loadavg5,
"loadavg15": loadavgs.Loadavg15,
}, nil
}
27 changes: 0 additions & 27 deletions metrics/loadavg5.go

This file was deleted.

10 changes: 5 additions & 5 deletions metrics/loadavg5_test.go → metrics/loadavg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ import (
"testing"
)

func TestLoadAvg5Generate(t *testing.T) {
g := &Loadavg5Generator{}
func TestLoadAvgGenerate(t *testing.T) {
g := &LoadavgGenerator{}
values, err := g.Generate()

if err != nil {
t.Errorf("error should be nil but got: %s", err)
}

metricName := []string{"loadavg5"}
metricName := []string{"loadavg1", "loadavg5", "loadavg15"}
for _, n := range metricName {
if _, ok := values[n]; !ok {
t.Errorf("loadavg5 metrics should have '%s': %v", n, values)
t.Errorf("loadavg metrics should have '%s': %v", n, values)
}
}

t.Logf("loadavg5 metrics: %+v", values)
t.Logf("loadavg metrics: %+v", values)
}

0 comments on commit 6d24cc9

Please sign in to comment.