Why diagnostic_aggregator returns ERROR instead of STALE in some cases? [closed]

asked 2012-12-06 14:32:31 -0500

130s gravatar image

updated 2012-12-11 05:00:07 -0500

As you know, diagnostic_aggregator (DA) returns diagnostics by grouping sub devices into certain categories. The operation status of top level devices only becomes STALE when the status of all sub devices are STALE, and otherwise the status becomes ERROR no matter what. And its source code:

00188     // Header is not stale unless all subs are
00189     if (all_stale)
00190       header_status->level = 3;
00191     else if (header_status->level == 3)
00192       header_status->level = 2;

So it is a spec, not a bug. Why is this?

robot_monitor (or its rqt plugin rqt_robot_monitor) provides a feature to fold sub devices at the top level and shows the icon that summarises the status in its sub devices. Because of DA's spec, some top level shows error when it actually doesn't contain error but STALE. I feel it's misleading.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-09-18 19:02:09.008497