ContainerStats returns stats for a container stats request based on container id.
( ctx context.Context, r *runtimeapi.ContainerStatsRequest, )
| 163 | |
| 164 | // ContainerStats returns stats for a container stats request based on container id. |
| 165 | func (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. |
| 190 | func (ds *dockerService) ListContainerStats( |