unit tests for stats sample
This commit is contained in:
parent
eaa166e8c3
commit
f1fa77adc3
@ -84,3 +84,167 @@ func TestPercentiles(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddSampleNilStats(t *testing.T) {
|
||||
s := &ContainerStatsSummary{}
|
||||
|
||||
stats := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
stats.Cpu.Usage.PerCpu = []uint64{uint64(10)}
|
||||
stats.Cpu.Usage.Total = uint64(10)
|
||||
stats.Cpu.Usage.System = uint64(2)
|
||||
stats.Cpu.Usage.User = uint64(8)
|
||||
stats.Memory.Usage = uint64(200)
|
||||
s.AddSample(nil, stats)
|
||||
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
|
||||
s.Samples = nil
|
||||
s.AddSample(stats, nil)
|
||||
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddSample(t *testing.T) {
|
||||
s := &ContainerStatsSummary{}
|
||||
|
||||
cpuPrevUsage := uint64(10)
|
||||
cpuCurrentUsage := uint64(15)
|
||||
memCurrentUsage := uint64(200)
|
||||
|
||||
prev := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
prev.Cpu.Usage.PerCpu = []uint64{cpuPrevUsage}
|
||||
prev.Cpu.Usage.Total = cpuPrevUsage
|
||||
prev.Cpu.Usage.System = 0
|
||||
prev.Cpu.Usage.User = cpuPrevUsage
|
||||
prev.Timestamp = time.Now()
|
||||
|
||||
current := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
current.Cpu.Usage.PerCpu = []uint64{cpuCurrentUsage}
|
||||
current.Cpu.Usage.Total = cpuCurrentUsage
|
||||
current.Cpu.Usage.System = 0
|
||||
current.Cpu.Usage.User = cpuCurrentUsage
|
||||
current.Memory.Usage = memCurrentUsage
|
||||
current.Timestamp = prev.Timestamp.Add(1 * time.Second)
|
||||
|
||||
s.AddSample(prev, current)
|
||||
|
||||
if len(s.Samples) != 1 {
|
||||
t.Fatalf("unexpected samples: %+v", s.Samples)
|
||||
}
|
||||
|
||||
if s.Samples[0].Memory.Usage != memCurrentUsage {
|
||||
t.Errorf("wrong memory usage: %v. should be %v", s.Samples[0].Memory.Usage, memCurrentUsage)
|
||||
}
|
||||
|
||||
if s.Samples[0].Cpu.Usage != cpuCurrentUsage-cpuPrevUsage {
|
||||
t.Errorf("wrong CPU usage: %v. should be %v", s.Samples[0].Cpu.Usage, cpuCurrentUsage-cpuPrevUsage)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddSampleIncompleteStats(t *testing.T) {
|
||||
s := &ContainerStatsSummary{}
|
||||
|
||||
cpuPrevUsage := uint64(10)
|
||||
cpuCurrentUsage := uint64(15)
|
||||
memCurrentUsage := uint64(200)
|
||||
|
||||
prev := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
prev.Cpu.Usage.PerCpu = []uint64{cpuPrevUsage}
|
||||
prev.Cpu.Usage.Total = cpuPrevUsage
|
||||
prev.Cpu.Usage.System = 0
|
||||
prev.Cpu.Usage.User = cpuPrevUsage
|
||||
prev.Timestamp = time.Now()
|
||||
|
||||
current := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
current.Cpu.Usage.PerCpu = []uint64{cpuCurrentUsage}
|
||||
current.Cpu.Usage.Total = cpuCurrentUsage
|
||||
current.Cpu.Usage.System = 0
|
||||
current.Cpu.Usage.User = cpuCurrentUsage
|
||||
current.Memory.Usage = memCurrentUsage
|
||||
current.Timestamp = prev.Timestamp.Add(1 * time.Second)
|
||||
|
||||
stats := &ContainerStats{
|
||||
Cpu: prev.Cpu,
|
||||
Memory: nil,
|
||||
}
|
||||
s.AddSample(stats, current)
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
s.Samples = nil
|
||||
|
||||
s.AddSample(prev, stats)
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
s.Samples = nil
|
||||
|
||||
stats = &ContainerStats{
|
||||
Cpu: nil,
|
||||
Memory: prev.Memory,
|
||||
}
|
||||
s.AddSample(stats, current)
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
s.Samples = nil
|
||||
|
||||
s.AddSample(prev, stats)
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
s.Samples = nil
|
||||
}
|
||||
|
||||
func TestAddSampleWrongOrder(t *testing.T) {
|
||||
s := &ContainerStatsSummary{}
|
||||
|
||||
cpuPrevUsage := uint64(10)
|
||||
cpuCurrentUsage := uint64(15)
|
||||
memCurrentUsage := uint64(200)
|
||||
|
||||
prev := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
prev.Cpu.Usage.PerCpu = []uint64{cpuPrevUsage}
|
||||
prev.Cpu.Usage.Total = cpuPrevUsage
|
||||
prev.Cpu.Usage.System = 0
|
||||
prev.Cpu.Usage.User = cpuPrevUsage
|
||||
prev.Timestamp = time.Now()
|
||||
|
||||
current := &ContainerStats{
|
||||
Cpu: &CpuStats{},
|
||||
Memory: &MemoryStats{},
|
||||
}
|
||||
current.Cpu.Usage.PerCpu = []uint64{cpuCurrentUsage}
|
||||
current.Cpu.Usage.Total = cpuCurrentUsage
|
||||
current.Cpu.Usage.System = 0
|
||||
current.Cpu.Usage.User = cpuCurrentUsage
|
||||
current.Memory.Usage = memCurrentUsage
|
||||
current.Timestamp = prev.Timestamp.Add(1 * time.Second)
|
||||
|
||||
s.AddSample(current, prev)
|
||||
if len(s.Samples) != 0 {
|
||||
t.Errorf("added an unexpected sample: %+v", s.Samples)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user