Utility class for polling ROS statistics from running ROS graph. Not multi-thread-safe
| Method | __init__ | 
    Undocumented | 
| Method | bad | 
    Update loop for nodes with bad connectivity. We box them separately so that we can maintain the good performance of the normal update loop. Once a node is on the bad list it stays there. | 
| Method | set | 
    @param stale_secs: seconds that data is considered fresh @type stale_secs: double | 
| Method | set | 
    @param stale_secs: seconds that data is considered fresh @type stale_secs: double | 
| Method | update | 
    Update all the stats. This method may take a while to complete as it will communicate with all nodes + master. | 
| Instance Variable | bad | 
    Undocumented | 
| Instance Variable | bad | 
    Undocumented | 
| Instance Variable | last | 
    Undocumented | 
| Instance Variable | last | 
    Undocumented | 
| Instance Variable | master | 
    Undocumented | 
| Instance Variable | master | 
    Undocumented | 
| Instance Variable | nn | 
    Undocumented | 
| Instance Variable | nn | 
    Undocumented | 
| Instance Variable | node | 
    Undocumented | 
| Instance Variable | node | 
    Undocumented | 
| Instance Variable | node | 
    Undocumented | 
| Instance Variable | nt | 
    Undocumented | 
| Instance Variable | nt | 
    Undocumented | 
| Instance Variable | nt | 
    Undocumented | 
| Instance Variable | srvs | 
    Undocumented | 
| Instance Variable | topic | 
    Undocumented | 
| Instance Variable | uri | 
    Undocumented | 
| Method | _mark | 
    Undocumented | 
| Method | _master | 
    @return: True if nodes information was updated @rtype: bool | 
| Method | _node | 
    Contact node for stats/connectivity information @param node: name of node to contact @type node: str @param bad_node: if True, node has connectivity issues @type bad_node: bool @return: True if node was successfully contacted @rtype bool... | 
| Method | _node | 
    Retrieve bus info from the node and update nodes and edges as appropriate @param node: node name @type node: str @param api: XML-RPC proxy @type api: ServerProxy @param bad_node: If True, node has connectivity issues and should be treated differently @type bad_node: bool... | 
| Method | _node | 
    Undocumented | 
| Method | _node | 
    Build self.node_uri_map and self.uri_node_map using master as a lookup service. This will make N requests to the master for N nodes, so this should only be used sparingly | 
| Method | _unmark | 
    Promotes bad node to 'wonky' status. | 
Update loop for nodes with bad connectivity. We box them separately so that we can maintain the good performance of the normal update loop. Once a node is on the bad list it stays there.
Update all the stats. This method may take a while to complete as it will communicate with all nodes + master.
Contact node for stats/connectivity information @param node: name of node to contact @type node: str @param bad_node: if True, node has connectivity issues @type bad_node: bool @return: True if node was successfully contacted @rtype bool
Retrieve bus info from the node and update nodes and edges as appropriate @param node: node name @type node: str @param api: XML-RPC proxy @type api: ServerProxy @param bad_node: If True, node has connectivity issues and should be treated differently @type bad_node: bool