additional poller states
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 21 Nov 2017 19:09:05 +0000 (21:09 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 21 Nov 2017 19:09:05 +0000 (21:09 +0200)
src/server/core/node.cpp

index 9c95836..caa4889 100644 (file)
@@ -1352,6 +1352,7 @@ void Node::statusPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId)
       return;
    }
 
+   poller->setStatus(_T("preparing"));
    m_pollRequestor = pSession;
    sendPollerMsg(rqId, _T("Starting status poll for node %s\r\n"), m_name);
    nxlog_debug(5, _T("Starting status poll for node %s (ID: %d)"), m_name, m_id);
@@ -1367,6 +1368,7 @@ void Node::statusPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId)
 restart_agent_check:
    if (g_flags & AF_RESOLVE_IP_FOR_EACH_STATUS_POLL)
    {
+      poller->setStatus(_T("updating primary IP"));
       updatePrimaryIpAddr();
    }
 
@@ -6382,6 +6384,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
    if (IsShutdownInProgress())
       return;
 
+   poller->setStatus(_T("wait for lock"));
    pollerLock();
 
    if (IsShutdownInProgress())
@@ -6396,6 +6399,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
 
    if (m_driver != NULL)
    {
+      poller->setStatus(_T("reading VLANs"));
       SNMP_Transport *snmp = createSnmpTransport();
       if (snmp != NULL)
       {
@@ -6434,6 +6438,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
       }
    }
 
+   poller->setStatus(_T("reading FDB"));
    ForwardingDatabase *fdb = GetSwitchForwardingDatabase(this);
    MutexLock(m_mutexTopoAccess);
    if (m_fdb != NULL)
@@ -6451,6 +6456,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
       sendPollerMsg(rqId, POLLER_WARNING _T("Failed to get switch forwarding database\r\n"));
    }
 
+   poller->setStatus(_T("building neighbor list"));
    LinkLayerNeighbors *nbs = BuildLinkLayerNeighborList(this);
    if (nbs != NULL)
    {
@@ -6576,6 +6582,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
    // Read list of associated wireless stations
    if ((m_driver != NULL) && (m_capabilities & NC_IS_WIFI_CONTROLLER))
    {
+      poller->setStatus(_T("reading wireless stations"));
       SNMP_Transport *snmp = createSnmpTransport();
       if (snmp != NULL)
       {
@@ -6623,6 +6630,7 @@ void Node::topologyPoll(PollerInfo *poller, ClientSession *pSession, UINT32 rqId
    }
 
    // Call hooks in loaded modules
+   poller->setStatus(_T("calling modules"));
    for(UINT32 i = 0; i < g_dwNumModules; i++)
    {
       if (g_pModuleList[i].pfTopologyPollHook != NULL)