input(docker): Fixed tests to work with engine-api
* Modified tests to work with engine-api
This commit is contained in:
parent
32213cad01
commit
708cbf937f
|
@ -1,13 +1,18 @@
|
||||||
package system
|
package system
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"golang.org/x/net/context"
|
||||||
|
|
||||||
|
"github.com/docker/engine-api/types"
|
||||||
|
"github.com/docker/engine-api/types/registry"
|
||||||
"github.com/influxdata/telegraf/testutil"
|
"github.com/influxdata/telegraf/testutil"
|
||||||
|
|
||||||
"github.com/fsouza/go-dockerclient"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -114,58 +119,58 @@ func TestDockerGatherContainerStats(t *testing.T) {
|
||||||
acc.AssertContainsTaggedFields(t, "docker_cpu", cpu1fields, cputags)
|
acc.AssertContainsTaggedFields(t, "docker_cpu", cpu1fields, cputags)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testStats() *docker.Stats {
|
func testStats() *types.StatsJSON {
|
||||||
stats := &docker.Stats{
|
stats := &types.StatsJSON{}
|
||||||
Read: time.Now(),
|
stats.Read = time.Now()
|
||||||
Networks: make(map[string]docker.NetworkStats),
|
stats.Networks = make(map[string]types.NetworkStats)
|
||||||
}
|
|
||||||
|
|
||||||
stats.CPUStats.CPUUsage.PercpuUsage = []uint64{1, 1002}
|
stats.CPUStats.CPUUsage.PercpuUsage = []uint64{1, 1002}
|
||||||
stats.CPUStats.CPUUsage.UsageInUsermode = 100
|
stats.CPUStats.CPUUsage.UsageInUsermode = 100
|
||||||
stats.CPUStats.CPUUsage.TotalUsage = 500
|
stats.CPUStats.CPUUsage.TotalUsage = 500
|
||||||
stats.CPUStats.CPUUsage.UsageInKernelmode = 200
|
stats.CPUStats.CPUUsage.UsageInKernelmode = 200
|
||||||
stats.CPUStats.SystemCPUUsage = 100
|
stats.CPUStats.SystemUsage = 100
|
||||||
stats.CPUStats.ThrottlingData.Periods = 1
|
stats.CPUStats.ThrottlingData.Periods = 1
|
||||||
|
|
||||||
stats.PreCPUStats.CPUUsage.TotalUsage = 400
|
stats.PreCPUStats.CPUUsage.TotalUsage = 400
|
||||||
stats.PreCPUStats.SystemCPUUsage = 50
|
stats.PreCPUStats.SystemUsage = 50
|
||||||
|
|
||||||
stats.MemoryStats.Stats.TotalPgmafault = 0
|
stats.MemoryStats.Stats = make(map[string]uint64)
|
||||||
stats.MemoryStats.Stats.Cache = 0
|
stats.MemoryStats.Stats["total_pgmajfault"] = 0
|
||||||
stats.MemoryStats.Stats.MappedFile = 0
|
stats.MemoryStats.Stats["cache"] = 0
|
||||||
stats.MemoryStats.Stats.TotalInactiveFile = 0
|
stats.MemoryStats.Stats["mapped_file"] = 0
|
||||||
stats.MemoryStats.Stats.Pgpgout = 0
|
stats.MemoryStats.Stats["total_inactive_file"] = 0
|
||||||
stats.MemoryStats.Stats.Rss = 0
|
stats.MemoryStats.Stats["pagpgout"] = 0
|
||||||
stats.MemoryStats.Stats.TotalMappedFile = 0
|
stats.MemoryStats.Stats["rss"] = 0
|
||||||
stats.MemoryStats.Stats.Writeback = 0
|
stats.MemoryStats.Stats["total_mapped_file"] = 0
|
||||||
stats.MemoryStats.Stats.Unevictable = 0
|
stats.MemoryStats.Stats["writeback"] = 0
|
||||||
stats.MemoryStats.Stats.Pgpgin = 0
|
stats.MemoryStats.Stats["unevictable"] = 0
|
||||||
stats.MemoryStats.Stats.TotalUnevictable = 0
|
stats.MemoryStats.Stats["pgpgin"] = 0
|
||||||
stats.MemoryStats.Stats.Pgmajfault = 0
|
stats.MemoryStats.Stats["total_unevictable"] = 0
|
||||||
stats.MemoryStats.Stats.TotalRss = 44
|
stats.MemoryStats.Stats["pgmajfault"] = 0
|
||||||
stats.MemoryStats.Stats.TotalRssHuge = 444
|
stats.MemoryStats.Stats["total_rss"] = 44
|
||||||
stats.MemoryStats.Stats.TotalWriteback = 55
|
stats.MemoryStats.Stats["total_rss_huge"] = 444
|
||||||
stats.MemoryStats.Stats.TotalInactiveAnon = 0
|
stats.MemoryStats.Stats["total_write_back"] = 55
|
||||||
stats.MemoryStats.Stats.RssHuge = 0
|
stats.MemoryStats.Stats["total_inactive_anon"] = 0
|
||||||
stats.MemoryStats.Stats.HierarchicalMemoryLimit = 0
|
stats.MemoryStats.Stats["rss_huge"] = 0
|
||||||
stats.MemoryStats.Stats.TotalPgfault = 0
|
stats.MemoryStats.Stats["hierarchical_memory_limit"] = 0
|
||||||
stats.MemoryStats.Stats.TotalActiveFile = 0
|
stats.MemoryStats.Stats["total_pgfault"] = 0
|
||||||
stats.MemoryStats.Stats.ActiveAnon = 0
|
stats.MemoryStats.Stats["total_active_file"] = 0
|
||||||
stats.MemoryStats.Stats.TotalActiveAnon = 0
|
stats.MemoryStats.Stats["active_anon"] = 0
|
||||||
stats.MemoryStats.Stats.TotalPgpgout = 0
|
stats.MemoryStats.Stats["total_active_anon"] = 0
|
||||||
stats.MemoryStats.Stats.TotalCache = 0
|
stats.MemoryStats.Stats["total_pgpgout"] = 0
|
||||||
stats.MemoryStats.Stats.InactiveAnon = 0
|
stats.MemoryStats.Stats["total_cache"] = 0
|
||||||
stats.MemoryStats.Stats.ActiveFile = 1
|
stats.MemoryStats.Stats["inactive_anon"] = 0
|
||||||
stats.MemoryStats.Stats.Pgfault = 2
|
stats.MemoryStats.Stats["active_file"] = 1
|
||||||
stats.MemoryStats.Stats.InactiveFile = 3
|
stats.MemoryStats.Stats["pgfault"] = 2
|
||||||
stats.MemoryStats.Stats.TotalPgpgin = 4
|
stats.MemoryStats.Stats["inactive_file"] = 3
|
||||||
|
stats.MemoryStats.Stats["total_pgpgin"] = 4
|
||||||
|
|
||||||
stats.MemoryStats.MaxUsage = 1001
|
stats.MemoryStats.MaxUsage = 1001
|
||||||
stats.MemoryStats.Usage = 1111
|
stats.MemoryStats.Usage = 1111
|
||||||
stats.MemoryStats.Failcnt = 1
|
stats.MemoryStats.Failcnt = 1
|
||||||
stats.MemoryStats.Limit = 2000
|
stats.MemoryStats.Limit = 2000
|
||||||
|
|
||||||
stats.Networks["eth0"] = docker.NetworkStats{
|
stats.Networks["eth0"] = types.NetworkStats{
|
||||||
RxDropped: 1,
|
RxDropped: 1,
|
||||||
RxBytes: 2,
|
RxBytes: 2,
|
||||||
RxErrors: 3,
|
RxErrors: 3,
|
||||||
|
@ -176,23 +181,23 @@ func testStats() *docker.Stats {
|
||||||
TxBytes: 4,
|
TxBytes: 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
sbr := docker.BlkioStatsEntry{
|
sbr := types.BlkioStatEntry{
|
||||||
Major: 6,
|
Major: 6,
|
||||||
Minor: 0,
|
Minor: 0,
|
||||||
Op: "read",
|
Op: "read",
|
||||||
Value: 100,
|
Value: 100,
|
||||||
}
|
}
|
||||||
sr := docker.BlkioStatsEntry{
|
sr := types.BlkioStatEntry{
|
||||||
Major: 6,
|
Major: 6,
|
||||||
Minor: 0,
|
Minor: 0,
|
||||||
Op: "write",
|
Op: "write",
|
||||||
Value: 101,
|
Value: 101,
|
||||||
}
|
}
|
||||||
|
|
||||||
stats.BlkioStats.IOServiceBytesRecursive = append(
|
stats.BlkioStats.IoServiceBytesRecursive = append(
|
||||||
stats.BlkioStats.IOServiceBytesRecursive, sbr)
|
stats.BlkioStats.IoServiceBytesRecursive, sbr)
|
||||||
stats.BlkioStats.IOServicedRecursive = append(
|
stats.BlkioStats.IoServicedRecursive = append(
|
||||||
stats.BlkioStats.IOServicedRecursive, sr)
|
stats.BlkioStats.IoServicedRecursive, sr)
|
||||||
|
|
||||||
return stats
|
return stats
|
||||||
}
|
}
|
||||||
|
@ -200,35 +205,78 @@ func testStats() *docker.Stats {
|
||||||
type FakeDockerClient struct {
|
type FakeDockerClient struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d FakeDockerClient) Info() (*docker.Env, error) {
|
func (d FakeDockerClient) Info(ctx context.Context) (types.Info, error) {
|
||||||
env := docker.Env{"Containers=108", "OomKillDisable=false", "SystemTime=2016-02-24T00:55:09.15073105-05:00", "NEventsListener=0", "ID=5WQQ:TFWR:FDNG:OKQ3:37Y4:FJWG:QIKK:623T:R3ME:QTKB:A7F7:OLHD", "Debug=false", "LoggingDriver=json-file", "KernelVersion=4.3.0-1-amd64", "IndexServerAddress=https://index.docker.io/v1/", "MemTotal=3840757760", "Images=199", "CpuCfsQuota=true", "Name=absol", "SwapLimit=false", "IPv4Forwarding=true", "ExecutionDriver=native-0.2", "InitSha1=23a51f3c916d2b5a3bbb31caf301fd2d14edd518", "ExperimentalBuild=false", "CpuCfsPeriod=true", "RegistryConfig={\"IndexConfigs\":{\"docker.io\":{\"Mirrors\":null,\"Name\":\"docker.io\",\"Official\":true,\"Secure\":true}},\"InsecureRegistryCIDRs\":[\"127.0.0.0/8\"],\"Mirrors\":null}", "OperatingSystem=Linux Mint LMDE (containerized)", "BridgeNfIptables=true", "HttpsProxy=", "Labels=null", "MemoryLimit=false", "DriverStatus=[[\"Pool Name\",\"docker-8:1-1182287-pool\"],[\"Pool Blocksize\",\"65.54 kB\"],[\"Backing Filesystem\",\"extfs\"],[\"Data file\",\"/dev/loop0\"],[\"Metadata file\",\"/dev/loop1\"],[\"Data Space Used\",\"17.3 GB\"],[\"Data Space Total\",\"107.4 GB\"],[\"Data Space Available\",\"36.53 GB\"],[\"Metadata Space Used\",\"20.97 MB\"],[\"Metadata Space Total\",\"2.147 GB\"],[\"Metadata Space Available\",\"2.127 GB\"],[\"Udev Sync Supported\",\"true\"],[\"Deferred Removal Enabled\",\"false\"],[\"Data loop file\",\"/var/lib/docker/devicemapper/devicemapper/data\"],[\"Metadata loop file\",\"/var/lib/docker/devicemapper/devicemapper/metadata\"],[\"Library Version\",\"1.02.115 (2016-01-25)\"]]", "NFd=19", "HttpProxy=", "Driver=devicemapper", "NGoroutines=39", "InitPath=/usr/lib/docker.io/dockerinit", "NCPU=4", "DockerRootDir=/var/lib/docker", "NoProxy=", "BridgeNfIp6tables=true"}
|
env := types.Info{
|
||||||
return &env, nil
|
Containers: 108,
|
||||||
|
OomKillDisable: false,
|
||||||
|
SystemTime: "2016-02-24T00:55:09.15073105-05:00",
|
||||||
|
NEventsListener: 0,
|
||||||
|
ID: "5WQQ:TFWR:FDNG:OKQ3:37Y4:FJWG:QIKK:623T:R3ME:QTKB:A7F7:OLHD",
|
||||||
|
Debug: false,
|
||||||
|
LoggingDriver: "json-file",
|
||||||
|
KernelVersion: "4.3.0-1-amd64",
|
||||||
|
IndexServerAddress: "https://index.docker.io/v1/",
|
||||||
|
MemTotal: 3840757760,
|
||||||
|
Images: 199,
|
||||||
|
CPUCfsQuota: true,
|
||||||
|
Name: "absol",
|
||||||
|
SwapLimit: false,
|
||||||
|
IPv4Forwarding: true,
|
||||||
|
ExecutionDriver: "native-0.2",
|
||||||
|
ExperimentalBuild: false,
|
||||||
|
CPUCfsPeriod: true,
|
||||||
|
RegistryConfig: ®istry.ServiceConfig{
|
||||||
|
IndexConfigs: map[string]*registry.IndexInfo{
|
||||||
|
"docker.io": {
|
||||||
|
Name: "docker.io",
|
||||||
|
Mirrors: []string{},
|
||||||
|
Official: true,
|
||||||
|
Secure: true,
|
||||||
|
},
|
||||||
|
}, InsecureRegistryCIDRs: []*registry.NetIPNet{{IP: []byte{127, 0, 0, 0}, Mask: []byte{255, 0, 0, 0}}}, Mirrors: []string{}},
|
||||||
|
OperatingSystem: "Linux Mint LMDE (containerized)",
|
||||||
|
BridgeNfIptables: true,
|
||||||
|
HTTPSProxy: "",
|
||||||
|
Labels: []string{},
|
||||||
|
MemoryLimit: false,
|
||||||
|
DriverStatus: [][2]string{{"Pool Name", "docker-8:1-1182287-pool"}, {"Pool Blocksize", "65.54 kB"}, {"Backing Filesystem", "extfs"}, {"Data file", "/dev/loop0"}, {"Metadata file", "/dev/loop1"}, {"Data Space Used", "17.3 GB"}, {"Data Space Total", "107.4 GB"}, {"Data Space Available", "36.53 GB"}, {"Metadata Space Used", "20.97 MB"}, {"Metadata Space Total", "2.147 GB"}, {"Metadata Space Available", "2.127 GB"}, {"Udev Sync Supported", "true"}, {"Deferred Removal Enabled", "false"}, {"Data loop file", "/var/lib/docker/devicemapper/devicemapper/data"}, {"Metadata loop file", "/var/lib/docker/devicemapper/devicemapper/metadata"}, {"Library Version", "1.02.115 (2016-01-25)"}},
|
||||||
|
NFd: 19,
|
||||||
|
HTTPProxy: "",
|
||||||
|
Driver: "devicemapper",
|
||||||
|
NGoroutines: 39,
|
||||||
|
NCPU: 4,
|
||||||
|
DockerRootDir: "/var/lib/docker",
|
||||||
|
NoProxy: "",
|
||||||
|
BridgeNfIP6tables: true,
|
||||||
|
}
|
||||||
|
return env, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d FakeDockerClient) ListContainers(opts docker.ListContainersOptions) ([]docker.APIContainers, error) {
|
func (d FakeDockerClient) ContainerList(octx context.Context, options types.ContainerListOptions) ([]types.Container, error) {
|
||||||
container1 := docker.APIContainers{
|
container1 := types.Container{
|
||||||
ID: "e2173b9478a6ae55e237d4d74f8bbb753f0817192b5081334dc78476296b7dfb",
|
ID: "e2173b9478a6ae55e237d4d74f8bbb753f0817192b5081334dc78476296b7dfb",
|
||||||
|
Names: []string{"/etcd"},
|
||||||
Image: "quay.io/coreos/etcd:v2.2.2",
|
Image: "quay.io/coreos/etcd:v2.2.2",
|
||||||
Command: "/etcd -name etcd0 -advertise-client-urls http://localhost:2379 -listen-client-urls http://0.0.0.0:2379",
|
Command: "/etcd -name etcd0 -advertise-client-urls http://localhost:2379 -listen-client-urls http://0.0.0.0:2379",
|
||||||
Created: 1455941930,
|
Created: 1455941930,
|
||||||
Status: "Up 4 hours",
|
Status: "Up 4 hours",
|
||||||
Ports: []docker.APIPort{
|
Ports: []types.Port{
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 7001,
|
PrivatePort: 7001,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 4001,
|
PrivatePort: 4001,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 2380,
|
PrivatePort: 2380,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 2379,
|
PrivatePort: 2379,
|
||||||
PublicPort: 2379,
|
PublicPort: 2379,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
|
@ -237,31 +285,31 @@ func (d FakeDockerClient) ListContainers(opts docker.ListContainersOptions) ([]d
|
||||||
},
|
},
|
||||||
SizeRw: 0,
|
SizeRw: 0,
|
||||||
SizeRootFs: 0,
|
SizeRootFs: 0,
|
||||||
Names: []string{"/etcd"},
|
|
||||||
}
|
}
|
||||||
container2 := docker.APIContainers{
|
container2 := types.Container{
|
||||||
ID: "b7dfbb9478a6ae55e237d4d74f8bbb753f0817192b5081334dc78476296e2173",
|
ID: "b7dfbb9478a6ae55e237d4d74f8bbb753f0817192b5081334dc78476296e2173",
|
||||||
|
Names: []string{"/etcd2"},
|
||||||
Image: "quay.io/coreos/etcd:v2.2.2",
|
Image: "quay.io/coreos/etcd:v2.2.2",
|
||||||
Command: "/etcd -name etcd2 -advertise-client-urls http://localhost:2379 -listen-client-urls http://0.0.0.0:2379",
|
Command: "/etcd -name etcd2 -advertise-client-urls http://localhost:2379 -listen-client-urls http://0.0.0.0:2379",
|
||||||
Created: 1455941933,
|
Created: 1455941933,
|
||||||
Status: "Up 4 hours",
|
Status: "Up 4 hours",
|
||||||
Ports: []docker.APIPort{
|
Ports: []types.Port{
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 7002,
|
PrivatePort: 7002,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 4002,
|
PrivatePort: 4002,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 2381,
|
PrivatePort: 2381,
|
||||||
PublicPort: 0,
|
PublicPort: 0,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
},
|
},
|
||||||
docker.APIPort{
|
types.Port{
|
||||||
PrivatePort: 2382,
|
PrivatePort: 2382,
|
||||||
PublicPort: 2382,
|
PublicPort: 2382,
|
||||||
Type: "tcp",
|
Type: "tcp",
|
||||||
|
@ -270,21 +318,19 @@ func (d FakeDockerClient) ListContainers(opts docker.ListContainersOptions) ([]d
|
||||||
},
|
},
|
||||||
SizeRw: 0,
|
SizeRw: 0,
|
||||||
SizeRootFs: 0,
|
SizeRootFs: 0,
|
||||||
Names: []string{"/etcd2"},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
containers := []docker.APIContainers{container1, container2}
|
containers := []types.Container{container1, container2}
|
||||||
return containers, nil
|
return containers, nil
|
||||||
|
|
||||||
//#{e6a96c84ca91a5258b7cb752579fb68826b68b49ff957487695cd4d13c343b44 titilambert/snmpsim /bin/sh -c 'snmpsimd --agent-udpv4-endpoint=0.0.0.0:31161 --process-user=root --process-group=user' 1455724831 Up 4 hours [{31161 31161 udp 0.0.0.0}] 0 0 [/snmp] map[]}]2016/02/24 01:05:01 Gathered metrics, (3s interval), from 1 inputs in 1.233836656s
|
//#{e6a96c84ca91a5258b7cb752579fb68826b68b49ff957487695cd4d13c343b44 titilambert/snmpsim /bin/sh -c 'snmpsimd --agent-udpv4-endpoint=0.0.0.0:31161 --process-user=root --process-group=user' 1455724831 Up 4 hours [{31161 31161 udp 0.0.0.0}] 0 0 [/snmp] map[]}]2016/02/24 01:05:01 Gathered metrics, (3s interval), from 1 inputs in 1.233836656s
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d FakeDockerClient) Stats(opts docker.StatsOptions) error {
|
func (d FakeDockerClient) ContainerStats(ctx context.Context, containerID string, stream bool) (io.ReadCloser, error) {
|
||||||
|
var stat io.ReadCloser
|
||||||
jsonStat := `{"read":"2016-02-24T11:42:27.472459608-05:00","memory_stats":{"stats":{},"limit":18935443456},"blkio_stats":{"io_service_bytes_recursive":[{"major":252,"minor":1,"op":"Read","value":753664},{"major":252,"minor":1,"op":"Write"},{"major":252,"minor":1,"op":"Sync"},{"major":252,"minor":1,"op":"Async","value":753664},{"major":252,"minor":1,"op":"Total","value":753664}],"io_serviced_recursive":[{"major":252,"minor":1,"op":"Read","value":26},{"major":252,"minor":1,"op":"Write"},{"major":252,"minor":1,"op":"Sync"},{"major":252,"minor":1,"op":"Async","value":26},{"major":252,"minor":1,"op":"Total","value":26}]},"cpu_stats":{"cpu_usage":{"percpu_usage":[17871,4959158,1646137,1231652,11829401,244656,369972,0],"usage_in_usermode":10000000,"total_usage":20298847},"system_cpu_usage":24052607520000000,"throttling_data":{}},"precpu_stats":{"cpu_usage":{"percpu_usage":[17871,4959158,1646137,1231652,11829401,244656,369972,0],"usage_in_usermode":10000000,"total_usage":20298847},"system_cpu_usage":24052599550000000,"throttling_data":{}}}`
|
jsonStat := `{"read":"2016-02-24T11:42:27.472459608-05:00","memory_stats":{"stats":{},"limit":18935443456},"blkio_stats":{"io_service_bytes_recursive":[{"major":252,"minor":1,"op":"Read","value":753664},{"major":252,"minor":1,"op":"Write"},{"major":252,"minor":1,"op":"Sync"},{"major":252,"minor":1,"op":"Async","value":753664},{"major":252,"minor":1,"op":"Total","value":753664}],"io_serviced_recursive":[{"major":252,"minor":1,"op":"Read","value":26},{"major":252,"minor":1,"op":"Write"},{"major":252,"minor":1,"op":"Sync"},{"major":252,"minor":1,"op":"Async","value":26},{"major":252,"minor":1,"op":"Total","value":26}]},"cpu_stats":{"cpu_usage":{"percpu_usage":[17871,4959158,1646137,1231652,11829401,244656,369972,0],"usage_in_usermode":10000000,"total_usage":20298847},"system_cpu_usage":24052607520000000,"throttling_data":{}},"precpu_stats":{"cpu_usage":{"percpu_usage":[17871,4959158,1646137,1231652,11829401,244656,369972,0],"usage_in_usermode":10000000,"total_usage":20298847},"system_cpu_usage":24052599550000000,"throttling_data":{}}}`
|
||||||
var stat docker.Stats
|
stat = ioutil.NopCloser(strings.NewReader(jsonStat))
|
||||||
json.Unmarshal([]byte(jsonStat), &stat)
|
return stat, nil
|
||||||
opts.Stats <- &stat
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDockerGatherInfo(t *testing.T) {
|
func TestDockerGatherInfo(t *testing.T) {
|
||||||
|
@ -299,12 +345,12 @@ func TestDockerGatherInfo(t *testing.T) {
|
||||||
acc.AssertContainsTaggedFields(t,
|
acc.AssertContainsTaggedFields(t,
|
||||||
"docker",
|
"docker",
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"n_listener_events": int64(0),
|
"n_listener_events": int(0),
|
||||||
"n_cpus": int64(4),
|
"n_cpus": int(4),
|
||||||
"n_used_file_descriptors": int64(19),
|
"n_used_file_descriptors": int(19),
|
||||||
"n_containers": int64(108),
|
"n_containers": int(108),
|
||||||
"n_images": int64(199),
|
"n_images": int(199),
|
||||||
"n_goroutines": int64(39),
|
"n_goroutines": int(39),
|
||||||
},
|
},
|
||||||
map[string]string{},
|
map[string]string{},
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue