MCPcopy Index your code
hub / github.com/google/cadvisor / HandleRequest

Function HandleRequest

validate/validate.go:291–329  ·  view source on GitHub ↗
(w http.ResponseWriter, containerManager manager.Manager)

Source from the content-addressed store, hash-verified

289}
290
291func 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}

Callers 1

RegisterHandlersFunction · 0.92

Calls 9

validateKernelVersionFunction · 0.85
validateCgroupsFunction · 0.85
validateCgroupMountsFunction · 0.85
validateDockerVersionFunction · 0.85
validateDockerInfoFunction · 0.85
validateIoSchedulerFunction · 0.85
WriteMethod · 0.80
GetVersionInfoMethod · 0.65
DebugInfoMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…