mirror of https://github.com/Icinga/icinga2.git
JsonRpcConnection: re-add num_json_rpc_work_queue_item_rate
This commit is contained in:
parent
a54bd9d5c4
commit
a451327b81
|
@ -1466,6 +1466,7 @@ std::pair<Dictionary::Ptr, Dictionary::Ptr> ApiListener::GetStatus()
|
|||
size_t httpClients = GetHttpClients().size();
|
||||
size_t syncQueueItems = m_SyncQueue.GetLength();
|
||||
size_t relayQueueItems = m_RelayQueue.GetLength();
|
||||
double workQueueItemRate = JsonRpcConnection::GetWorkQueueRate();
|
||||
double syncQueueItemRate = m_SyncQueue.GetTaskCount(60) / 60.0;
|
||||
double relayQueueItemRate = m_RelayQueue.GetTaskCount(60) / 60.0;
|
||||
|
||||
|
@ -1483,6 +1484,7 @@ std::pair<Dictionary::Ptr, Dictionary::Ptr> ApiListener::GetStatus()
|
|||
{ "anonymous_clients", jsonRpcAnonymousClients },
|
||||
{ "sync_queue_items", syncQueueItems },
|
||||
{ "relay_queue_items", relayQueueItems },
|
||||
{ "work_queue_item_rate", workQueueItemRate },
|
||||
{ "sync_queue_item_rate", syncQueueItemRate },
|
||||
{ "relay_queue_item_rate", relayQueueItemRate }
|
||||
}) },
|
||||
|
@ -1502,6 +1504,7 @@ std::pair<Dictionary::Ptr, Dictionary::Ptr> ApiListener::GetStatus()
|
|||
perfdata->Set("num_json_rpc_sync_queue_items", syncQueueItems);
|
||||
perfdata->Set("num_json_rpc_relay_queue_items", relayQueueItems);
|
||||
|
||||
perfdata->Set("num_json_rpc_work_queue_item_rate", workQueueItemRate);
|
||||
perfdata->Set("num_json_rpc_sync_queue_item_rate", syncQueueItemRate);
|
||||
perfdata->Set("num_json_rpc_relay_queue_item_rate", relayQueueItemRate);
|
||||
|
||||
|
|
|
@ -25,6 +25,8 @@ using namespace icinga;
|
|||
static Value SetLogPositionHandler(const MessageOrigin::Ptr& origin, const Dictionary::Ptr& params);
|
||||
REGISTER_APIFUNCTION(SetLogPosition, log, &SetLogPositionHandler);
|
||||
|
||||
static RingBuffer l_TaskStats (15 * 60);
|
||||
|
||||
JsonRpcConnection::JsonRpcConnection(const String& identity, bool authenticated,
|
||||
const std::shared_ptr<AsioTlsStream>& stream, ConnectionRole role)
|
||||
: m_Identity(identity), m_Authenticated(authenticated), m_Stream(stream),
|
||||
|
@ -84,6 +86,8 @@ void JsonRpcConnection::HandleIncomingMessages(boost::asio::yield_context yc)
|
|||
|
||||
break;
|
||||
}
|
||||
|
||||
l_TaskStats.InsertValue(Utility::GetTime(), 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -319,3 +323,8 @@ void JsonRpcConnection::CheckLiveness(boost::asio::yield_context yc)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
double JsonRpcConnection::GetWorkQueueRate()
|
||||
{
|
||||
return l_TaskStats.UpdateAndGetValues(Utility::GetTime(), 60) / 60.0;
|
||||
}
|
||||
|
|
|
@ -58,6 +58,8 @@ public:
|
|||
|
||||
static Value HeartbeatAPIHandler(const intrusive_ptr<MessageOrigin>& origin, const Dictionary::Ptr& params);
|
||||
|
||||
static double GetWorkQueueRate();
|
||||
|
||||
static void SendCertificateRequest(const JsonRpcConnection::Ptr& aclient, const intrusive_ptr<MessageOrigin>& origin, const String& path);
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue