1
0
Fork 0
telegraf/plugins/inputs/ecs/cgroupv2_test.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

61 lines
1.7 KiB
Go

package ecs
import (
"os"
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/plugins/parsers/influx"
"github.com/influxdata/telegraf/testutil"
)
const cgroupID = "c69461b2c836cc3f0e3e5deb07b1f16e25f6009da2a48bb0adc7dd580befaf55"
func TestParseCgroupV2Stats(t *testing.T) {
parser := &influx.Parser{}
require.NoError(t, parser.Init())
expected, err := testutil.ParseMetricsFromFile("testdata/cgroupv2/stats.out", parser)
require.NoError(t, err)
stats, err := os.Open("testdata/cgroupv2/stats.json")
require.NoError(t, err)
parsedStats, err := unmarshalStats(stats)
require.NoError(t, err)
tags := map[string]string{
"test_tag": "test",
}
var acc testutil.Accumulator
memstats(cgroupID, parsedStats[cgroupID], &acc, tags, time.Now())
cpustats(cgroupID, parsedStats[cgroupID], &acc, tags, time.Now())
netstats(cgroupID, parsedStats[cgroupID], &acc, tags, time.Now())
blkstats(cgroupID, parsedStats[cgroupID], &acc, tags, time.Now())
actual := acc.GetTelegrafMetrics()
testutil.RequireMetricsEqual(t, expected, actual, testutil.IgnoreTime())
}
func TestParseCgroupV2Meta(t *testing.T) {
parser := &influx.Parser{}
require.NoError(t, parser.Init())
expected, err := testutil.ParseMetricsFromFile("testdata/cgroupv2/meta.out", parser)
require.NoError(t, err)
meta, err := os.Open("testdata/cgroupv2/meta.json")
require.NoError(t, err)
validMeta, err := unmarshalTask(meta)
require.NoError(t, err)
tags := map[string]string{
"test_tag": "test",
}
var acc testutil.Accumulator
metastats(cgroupID, &validMeta.Containers[0], &acc, tags, time.Now())
actual := acc.GetTelegrafMetrics()
testutil.RequireMetricsEqual(t, expected, actual, testutil.IgnoreTime())
}