From de6287d626f88506c30b6e75528af0db4fbdf52b Mon Sep 17 00:00:00 2001 From: Lantao Liu Date: Thu, 28 Sep 2017 05:49:32 +0000 Subject: [PATCH] Fix container stats. Signed-off-by: Lantao Liu --- pkg/server/container_stats_list.go | 4 ++-- pkg/server/instrumented_service.go | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/pkg/server/container_stats_list.go b/pkg/server/container_stats_list.go index ae6382311..257ece2c4 100644 --- a/pkg/server/container_stats_list.go +++ b/pkg/server/container_stats_list.go @@ -78,8 +78,8 @@ func (c *criContainerdService) getContainerMetrics( // If snapshotstore doesn't have cached snapshot information // set WritableLayer usage to zero if err == nil { - inodesUsed = sn.Size - usedBytes = sn.Inodes + usedBytes = sn.Size + inodesUsed = sn.Inodes } cs.WritableLayer = &runtime.FilesystemUsage{ Timestamp: sn.Timestamp, diff --git a/pkg/server/instrumented_service.go b/pkg/server/instrumented_service.go index 5fcebeb3f..b47cbc10d 100644 --- a/pkg/server/instrumented_service.go +++ b/pkg/server/instrumented_service.go @@ -280,6 +280,7 @@ func (in *instrumentedService) RemoveImage(ctx context.Context, r *runtime.Remov }() return in.criContainerdService.RemoveImage(ctx, r) } + func (in *instrumentedService) ImageFsInfo(ctx context.Context, r *runtime.ImageFsInfoRequest) (res *runtime.ImageFsInfoResponse, err error) { glog.V(4).Infof("ImageFsInfo") defer func() { @@ -291,3 +292,27 @@ func (in *instrumentedService) ImageFsInfo(ctx context.Context, r *runtime.Image }() return in.criContainerdService.ImageFsInfo(ctx, r) } + +func (in *instrumentedService) ContainerStats(ctx context.Context, r *runtime.ContainerStatsRequest) (res *runtime.ContainerStatsResponse, err error) { + glog.V(4).Infof("ContainerStats for %q", r.GetContainerId()) + defer func() { + if err != nil { + glog.Errorf("ContainerStats for %q failed, error: %v", r.GetContainerId(), err) + } else { + glog.V(4).Infof("ContainerStats for %q returns stats %+v", r.GetContainerId(), res.GetStats()) + } + }() + return in.criContainerdService.ContainerStats(ctx, r) +} + +func (in *instrumentedService) ListContainerStats(ctx context.Context, r *runtime.ListContainerStatsRequest) (res *runtime.ListContainerStatsResponse, err error) { + glog.V(5).Infof("ListContainerStats with filter %+v", r.GetFilter()) + defer func() { + if err != nil { + glog.Errorf("ListContainerStats failed, error: %v", err) + } else { + glog.V(5).Infof("ListContainerStats returns stats %+v", res.GetStats()) + } + }() + return in.criContainerdService.ListContainerStats(ctx, r) +}