227 lines
6.0 KiB
Go
227 lines
6.0 KiB
Go
package ecs
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/influxdata/telegraf/testutil"
|
|
)
|
|
|
|
func Test_metastats(t *testing.T) {
|
|
var mockAcc testutil.Accumulator
|
|
|
|
tags := map[string]string{
|
|
"test_tag": "test",
|
|
}
|
|
tm := time.Now()
|
|
|
|
metastats(nginxStatsKey, validMeta.Containers[1], &mockAcc, tags, tm)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_meta",
|
|
map[string]interface{}{
|
|
"container_id": nginxStatsKey,
|
|
"docker_name": "ecs-nginx-2-nginx",
|
|
"image": "nginx:alpine",
|
|
"image_id": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
"desired_status": "RUNNING",
|
|
"known_status": "RUNNING",
|
|
"limit_cpu": float64(0),
|
|
"limit_mem": float64(0),
|
|
"created_at": metaCreated,
|
|
"started_at": metaStarted,
|
|
"type": "NORMAL",
|
|
},
|
|
tags,
|
|
)
|
|
}
|
|
|
|
func Test_memstats(t *testing.T) {
|
|
var mockAcc testutil.Accumulator
|
|
|
|
tags := map[string]string{
|
|
"test_tag": "test",
|
|
}
|
|
tm := time.Now()
|
|
|
|
memstats(nginxStatsKey, validStats[nginxStatsKey], &mockAcc, tags, tm)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_mem",
|
|
map[string]interface{}{
|
|
"active_anon": uint64(1597440),
|
|
"active_file": uint64(1462272),
|
|
"cache": uint64(5787648),
|
|
"container_id": nginxStatsKey,
|
|
"hierarchical_memory_limit": uint64(536870912),
|
|
"inactive_anon": uint64(4096),
|
|
"inactive_file": uint64(4321280),
|
|
"limit": uint64(1033658368),
|
|
"mapped_file": uint64(3616768),
|
|
"max_usage": uint64(8667136),
|
|
"pgmajfault": uint64(40),
|
|
"pgpgin": uint64(3477),
|
|
"pgpgout": uint64(1674),
|
|
"pgfault": uint64(2924),
|
|
"rss": uint64(1597440),
|
|
"total_active_anon": uint64(1597440),
|
|
"total_active_file": uint64(1462272),
|
|
"total_cache": uint64(5787648),
|
|
"total_inactive_anon": uint64(4096),
|
|
"total_inactive_file": uint64(4321280),
|
|
"total_mapped_file": uint64(3616768),
|
|
"total_pgfault": uint64(2924),
|
|
"total_pgpgout": uint64(1674),
|
|
"total_pgpgin": uint64(3477),
|
|
"total_rss": uint64(1597440),
|
|
"usage": uint64(2392064),
|
|
"usage_percent": float64(0.23141727228778164),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
},
|
|
)
|
|
}
|
|
|
|
func Test_cpustats(t *testing.T) {
|
|
var mockAcc testutil.Accumulator
|
|
|
|
tags := map[string]string{
|
|
"test_tag": "test",
|
|
}
|
|
tm := time.Now()
|
|
|
|
cpustats(nginxStatsKey, validStats[nginxStatsKey], &mockAcc, tags, tm)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_cpu",
|
|
map[string]interface{}{
|
|
"container_id": nginxStatsKey,
|
|
"throttling_periods": uint64(0),
|
|
"throttling_throttled_periods": uint64(0),
|
|
"throttling_throttled_time": uint64(0),
|
|
"usage_in_usermode": uint64(40000000),
|
|
"usage_in_kernelmode": uint64(10000000),
|
|
"usage_percent": float64(0),
|
|
"usage_system": uint64(2336100000000),
|
|
"usage_total": uint64(65599511),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"cpu": "cpu-total",
|
|
},
|
|
)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_cpu",
|
|
map[string]interface{}{
|
|
"container_id": nginxStatsKey,
|
|
"usage_total": uint64(65599511),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"cpu": "cpu0",
|
|
},
|
|
)
|
|
}
|
|
|
|
func Test_netstats(t *testing.T) {
|
|
var mockAcc testutil.Accumulator
|
|
|
|
tags := map[string]string{
|
|
"test_tag": "test",
|
|
}
|
|
tm := time.Now()
|
|
|
|
netstats(pauseStatsKey, validStats[pauseStatsKey], &mockAcc, tags, tm)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_net",
|
|
map[string]interface{}{
|
|
"container_id": pauseStatsKey,
|
|
"rx_bytes": uint64(5338),
|
|
"rx_dropped": uint64(0),
|
|
"rx_errors": uint64(0),
|
|
"rx_packets": uint64(36),
|
|
"tx_bytes": uint64(648),
|
|
"tx_dropped": uint64(0),
|
|
"tx_errors": uint64(0),
|
|
"tx_packets": uint64(8),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"network": "eth0",
|
|
},
|
|
)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_net",
|
|
map[string]interface{}{
|
|
"container_id": pauseStatsKey,
|
|
"rx_bytes": uint64(4641),
|
|
"rx_dropped": uint64(0),
|
|
"rx_errors": uint64(0),
|
|
"rx_packets": uint64(26),
|
|
"tx_bytes": uint64(690),
|
|
"tx_dropped": uint64(0),
|
|
"tx_errors": uint64(0),
|
|
"tx_packets": uint64(9),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"network": "eth5",
|
|
},
|
|
)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_net",
|
|
map[string]interface{}{
|
|
"container_id": pauseStatsKey,
|
|
"rx_bytes": uint64(9979),
|
|
"rx_dropped": uint64(0),
|
|
"rx_errors": uint64(0),
|
|
"rx_packets": uint64(62),
|
|
"tx_bytes": uint64(1338),
|
|
"tx_dropped": uint64(0),
|
|
"tx_errors": uint64(0),
|
|
"tx_packets": uint64(17),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"network": "total",
|
|
},
|
|
)
|
|
}
|
|
|
|
func Test_blkstats(t *testing.T) {
|
|
var mockAcc testutil.Accumulator
|
|
|
|
tags := map[string]string{
|
|
"test_tag": "test",
|
|
}
|
|
tm := time.Now()
|
|
|
|
blkstats(nginxStatsKey, validStats[nginxStatsKey], &mockAcc, tags, tm)
|
|
mockAcc.AssertContainsTaggedFields(
|
|
t,
|
|
"ecs_container_blkio",
|
|
map[string]interface{}{
|
|
"container_id": nginxStatsKey,
|
|
"io_service_bytes_recursive_read": uint64(5730304),
|
|
"io_service_bytes_recursive_write": uint64(0),
|
|
"io_service_bytes_recursive_sync": uint64(5730304),
|
|
"io_service_bytes_recursive_async": uint64(0),
|
|
"io_service_bytes_recursive_total": uint64(5730304),
|
|
"io_serviced_recursive_read": uint64(156),
|
|
"io_serviced_recursive_write": uint64(0),
|
|
"io_serviced_recursive_sync": uint64(156),
|
|
"io_serviced_recursive_async": uint64(0),
|
|
"io_serviced_recursive_total": uint64(156),
|
|
},
|
|
map[string]string{
|
|
"test_tag": "test",
|
|
"device": "202:26368",
|
|
},
|
|
)
|
|
}
|