MCPcopy
hub / github.com/google/cadvisor / validateIoScheduler

Function validateIoScheduler

validate/validate.go:268–289  ·  view source on GitHub ↗
(containerManager manager.Manager)

Source from the content-addressed store, hash-verified

266}
267
268func validateIoScheduler(containerManager manager.Manager) (string, string) {
269 var desc string
270 mi, err := containerManager.GetMachineInfo()
271 if err != nil {
272 return Unknown, "Machine info not available\n\t"
273 }
274 cfq := false
275 for _, disk := range mi.DiskMap {
276 desc += fmt.Sprintf("\t Disk %q Scheduler type %q.\n", disk.Name, disk.Scheduler)
277 if disk.Scheduler == "cfq" {
278 cfq = true
279 }
280 }
281 // Since we get lot of random block devices, report recommended if
282 // at least one of them is on cfq. Report Supported otherwise.
283 if cfq {
284 desc = "At least one device supports 'cfq' I/O scheduler. Some disk stats can be reported.\n" + desc
285 return Recommended, desc
286 }
287 desc = "None of the devices support 'cfq' I/O scheduler. No disk stats can be reported.\n" + desc
288 return Supported, desc
289}
290
291func HandleRequest(w http.ResponseWriter, containerManager manager.Manager) error {
292 // Get cAdvisor version Info.

Callers 1

HandleRequestFunction · 0.85

Calls 1

GetMachineInfoMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…