@@ -234,7 +234,11 @@ func (c *AllocStatusCommand) Run(args []string) int {
234
234
stats , statsErr = client .Allocations ().Stats (alloc , nil )
235
235
if statsErr != nil {
236
236
c .Ui .Output ("" )
237
- c .Ui .Error (fmt .Sprintf ("couldn't retrieve stats (HINT: ensure Client.Advertise.HTTP is set): %v" , statsErr ))
237
+ if statsErr != api .NodeDownErr {
238
+ c .Ui .Error (fmt .Sprintf ("couldn't retrieve stats (HINT: ensure Client.Advertise.HTTP is set): %v" , statsErr ))
239
+ } else {
240
+ c .Ui .Output ("Omitting resource statistics since the node is down." )
241
+ }
238
242
}
239
243
c .outputTaskDetails (alloc , stats , displayStats )
240
244
}
@@ -408,12 +412,14 @@ func (c *AllocStatusCommand) outputTaskResources(alloc *api.Allocation, task str
408
412
// Display the rolled up stats. If possible prefer the live stastics
409
413
cpuUsage := strconv .Itoa (resource .CPU )
410
414
memUsage := humanize .IBytes (uint64 (resource .MemoryMB * bytesPerMegabyte ))
411
- if ru , ok := stats .Tasks [task ]; ok && ru != nil && ru .ResourceUsage != nil {
412
- if cs := ru .ResourceUsage .CpuStats ; cs != nil {
413
- cpuUsage = fmt .Sprintf ("%v/%v" , math .Floor (cs .TotalTicks ), resource .CPU )
414
- }
415
- if ms := ru .ResourceUsage .MemoryStats ; ms != nil {
416
- memUsage = fmt .Sprintf ("%v/%v" , humanize .IBytes (ms .RSS ), memUsage )
415
+ if stats != nil {
416
+ if ru , ok := stats .Tasks [task ]; ok && ru != nil && ru .ResourceUsage != nil {
417
+ if cs := ru .ResourceUsage .CpuStats ; cs != nil {
418
+ cpuUsage = fmt .Sprintf ("%v/%v" , math .Floor (cs .TotalTicks ), resource .CPU )
419
+ }
420
+ if ms := ru .ResourceUsage .MemoryStats ; ms != nil {
421
+ memUsage = fmt .Sprintf ("%v/%v" , humanize .IBytes (ms .RSS ), memUsage )
422
+ }
417
423
}
418
424
}
419
425
resourcesOutput = append (resourcesOutput , fmt .Sprintf ("%v MHz|%v|%v|%v|%v" ,
@@ -427,9 +433,11 @@ func (c *AllocStatusCommand) outputTaskResources(alloc *api.Allocation, task str
427
433
}
428
434
c .Ui .Output (formatListWithSpaces (resourcesOutput ))
429
435
430
- if ru , ok := stats .Tasks [task ]; ok && ru != nil && displayStats && ru .ResourceUsage != nil {
431
- c .Ui .Output ("" )
432
- c .outputVerboseResourceUsage (task , ru .ResourceUsage )
436
+ if stats != nil {
437
+ if ru , ok := stats .Tasks [task ]; ok && ru != nil && displayStats && ru .ResourceUsage != nil {
438
+ c .Ui .Output ("" )
439
+ c .outputVerboseResourceUsage (task , ru .ResourceUsage )
440
+ }
433
441
}
434
442
}
435
443
0 commit comments