33 lines
731 B
Go
33 lines
731 B
Go
package procstat
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"strconv"
|
|
"testing"
|
|
|
|
"github.com/shirou/gopsutil/process"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/influxdb/telegraf/testutil"
|
|
)
|
|
|
|
func TestGather(t *testing.T) {
|
|
var acc testutil.Accumulator
|
|
pid := os.Getpid()
|
|
file, err := ioutil.TempFile(os.TempDir(), "telegraf")
|
|
require.NoError(t, err)
|
|
file.Write([]byte(strconv.Itoa(pid)))
|
|
file.Close()
|
|
defer os.Remove(file.Name())
|
|
p := Procstat{
|
|
PidFile: file.Name(),
|
|
Prefix: "foo",
|
|
pidmap: make(map[int32]*process.Process),
|
|
}
|
|
p.Gather(&acc)
|
|
assert.True(t, acc.HasFloatField("procstat", "foo_cpu_time_user"))
|
|
assert.True(t, acc.HasUIntField("procstat", "foo_memory_vms"))
|
|
}
|