Fix container stats panic.

Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
Lantao Liu 2017-10-05 02:18:19 +00:00
parent 23b8330b44
commit 94b68ae662

View File

@ -102,13 +102,17 @@ func (c *criContainerdService) getContainerMetrics(
return nil, fmt.Errorf("failed to extract container metrics: %v", err) return nil, fmt.Errorf("failed to extract container metrics: %v", err)
} }
metrics := s.(*cgroups.Metrics) metrics := s.(*cgroups.Metrics)
cs.Cpu = &runtime.CpuUsage{ if metrics.CPU != nil && metrics.CPU.Usage != nil {
Timestamp: stats.Timestamp.UnixNano(), cs.Cpu = &runtime.CpuUsage{
UsageCoreNanoSeconds: &runtime.UInt64Value{metrics.CPU.Usage.Total}, Timestamp: stats.Timestamp.UnixNano(),
UsageCoreNanoSeconds: &runtime.UInt64Value{metrics.CPU.Usage.Total},
}
} }
cs.Memory = &runtime.MemoryUsage{ if metrics.Memory != nil && metrics.Memory.Usage != nil {
Timestamp: stats.Timestamp.UnixNano(), cs.Memory = &runtime.MemoryUsage{
WorkingSetBytes: &runtime.UInt64Value{metrics.Memory.Usage.Usage}, Timestamp: stats.Timestamp.UnixNano(),
WorkingSetBytes: &runtime.UInt64Value{metrics.Memory.Usage.Usage},
}
} }
} }