(w http.ResponseWriter, containerManager manager.Manager)
| 289 | } |
| 290 | |
| 291 | func HandleRequest(w http.ResponseWriter, containerManager manager.Manager) error { |
| 292 | // Get cAdvisor version Info. |
| 293 | versionInfo, err := containerManager.GetVersionInfo() |
| 294 | if err != nil { |
| 295 | return err |
| 296 | } |
| 297 | |
| 298 | out := fmt.Sprintf("cAdvisor version: %s\n\n", versionInfo.CadvisorVersion) |
| 299 | |
| 300 | // No OS is preferred or unsupported as of now. |
| 301 | out += fmt.Sprintf("OS version: %s\n\n", versionInfo.ContainerOsVersion) |
| 302 | |
| 303 | kernelValidation, desc := validateKernelVersion(versionInfo.KernelVersion) |
| 304 | out += fmt.Sprintf(OutputFormat, "Kernel version", kernelValidation, desc) |
| 305 | |
| 306 | cgroupValidation, desc := validateCgroups() |
| 307 | out += fmt.Sprintf(OutputFormat, "Cgroup setup", cgroupValidation, desc) |
| 308 | |
| 309 | mountsValidation, desc := validateCgroupMounts() |
| 310 | out += fmt.Sprintf(OutputFormat, "Cgroup mount setup", mountsValidation, desc) |
| 311 | |
| 312 | dockerValidation, desc := validateDockerVersion(versionInfo.DockerVersion) |
| 313 | out += fmt.Sprintf(OutputFormat, "Docker version", dockerValidation, desc) |
| 314 | |
| 315 | dockerInfoValidation, desc := validateDockerInfo() |
| 316 | out += fmt.Sprintf(OutputFormat, "Docker driver setup", dockerInfoValidation, desc) |
| 317 | |
| 318 | ioSchedulerValidation, desc := validateIoScheduler(containerManager) |
| 319 | out += fmt.Sprintf(OutputFormat, "Block device setup", ioSchedulerValidation, desc) |
| 320 | |
| 321 | // Output debug info. |
| 322 | debugInfo := containerManager.DebugInfo() |
| 323 | for category, lines := range debugInfo { |
| 324 | out += fmt.Sprintf(OutputFormat, category, "", strings.Join(lines, "\n\t")) |
| 325 | } |
| 326 | |
| 327 | _, err = w.Write([]byte(out)) |
| 328 | return err |
| 329 | } |
no test coverage detected
searching dependent graphs…