in local-container-endpoints/handlers/metadata.go [44:66]
func (service *MetadataService) containerStatsResponse(w http.ResponseWriter, identifier string, callerIP string) error {
timeout, _ := time.ParseDuration(config.HTTPTimeoutDuration)
ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel()
containers, err := service.dockerClient.ContainerList(ctx)
if err != nil {
return errors.Wrap(err, "failed to list running containers")
}
container, err := findContainer(containers, identifier, callerIP)
if err != nil {
return err
}
stats, err := service.dockerClient.ContainerStats(ctx, container.ID)
if err != nil {
return errors.Wrap(err, "failed to get container stats")
}
writeJSONResponse(w, stats)
return nil
}