MCPcopy Create free account
hub / github.com/Mirantis/cri-dockerd / ContainerStats

Method ContainerStats

core/stats.go:165–187  ·  view source on GitHub ↗

ContainerStats returns stats for a container stats request based on container id.

(
	ctx context.Context,
	r *runtimeapi.ContainerStatsRequest,
)

Source from the content-addressed store, hash-verified

163
164// ContainerStats returns stats for a container stats request based on container id.
165func (ds *dockerService) ContainerStats(
166 ctx context.Context,
167 r *runtimeapi.ContainerStatsRequest,
168) (*runtimeapi.ContainerStatsResponse, error) {
169 filter := &runtimeapi.ContainerFilter{
170 Id: r.ContainerId,
171 }
172 listResp, err := ds.ListContainers(ctx, &runtimeapi.ListContainersRequest{Filter: filter})
173 if err != nil {
174 return nil, err
175 }
176 if len(listResp.Containers) != 1 {
177 return nil, fmt.Errorf("container with id %s not found", r.ContainerId)
178 }
179 stats, err := ds.getContainerStats(listResp.Containers[0])
180 if err != nil {
181 return nil, err
182 }
183 if stats == nil {
184 return nil, fmt.Errorf("stats for container with id %s not available", r.ContainerId)
185 }
186 return &runtimeapi.ContainerStatsResponse{Stats: stats}, nil
187}
188
189// ListContainerStats returns stats for a list container stats request based on a filter.
190func (ds *dockerService) ListContainerStats(

Callers 1

TestContainerStatsFunction · 0.80

Calls 3

ListContainersMethod · 0.95
getContainerStatsMethod · 0.95
lenFunction · 0.85

Tested by 1

TestContainerStatsFunction · 0.64