mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
WIP2
This commit is contained in:
parent
d63e728e51
commit
84dc5dff72
@ -44,8 +44,9 @@ public:
|
||||
void AddMessageSent(int bytes);
|
||||
void AddMessageReceived(int bytes);
|
||||
|
||||
void AddInputTimes(const AtomicDuration::Clock::duration& readTime, const AtomicDuration::Clock::duration& semaphoreTime, const AtomicDuration::Clock::duration& processTime)
|
||||
void AddInputTimes(const AtomicDuration::Clock::duration& waitTime, const AtomicDuration::Clock::duration& readTime, const AtomicDuration::Clock::duration& semaphoreTime, const AtomicDuration::Clock::duration& processTime)
|
||||
{
|
||||
m_InputWaitTime += waitTime;
|
||||
m_InputReadTime += readTime;
|
||||
m_InputSemaphoreTime += semaphoreTime;
|
||||
m_InputProcessTime += processTime;
|
||||
@ -74,6 +75,7 @@ private:
|
||||
mutable RingBuffer m_BytesSent{60};
|
||||
mutable RingBuffer m_BytesReceived{60};
|
||||
|
||||
AtomicDuration m_InputWaitTime;
|
||||
AtomicDuration m_InputReadTime;
|
||||
AtomicDuration m_InputSemaphoreTime;
|
||||
AtomicDuration m_InputProcessTime;
|
||||
|
@ -66,7 +66,7 @@ void JsonRpcConnection::HandleIncomingMessages(boost::asio::yield_context yc)
|
||||
return ch::duration_cast<ch::milliseconds>(d).count();
|
||||
});
|
||||
|
||||
AtomicDuration::Clock::time_point readStart, readEnd, processingStart;
|
||||
AtomicDuration::Clock::time_point waitStart, waitEnd, readStart, readEnd, processingStart;
|
||||
|
||||
m_Stream->next_layer().SetSeen(&m_Seen);
|
||||
|
||||
@ -77,7 +77,9 @@ void JsonRpcConnection::HandleIncomingMessages(boost::asio::yield_context yc)
|
||||
if (m_Endpoint) {
|
||||
// Only once we receive at least one byte, we know there must be a message to read.
|
||||
if (!m_Stream->in_avail()) {
|
||||
waitStart = AtomicDuration::Clock::now();
|
||||
m_Stream->async_fill(yc);
|
||||
waitEnd = AtomicDuration::Clock::now();
|
||||
}
|
||||
|
||||
// Only then we can start measuring the time it takes to read it.
|
||||
@ -124,7 +126,7 @@ void JsonRpcConnection::HandleIncomingMessages(boost::asio::yield_context yc)
|
||||
MessageHandler(message);
|
||||
|
||||
if (m_Endpoint) {
|
||||
m_Endpoint->AddInputTimes(readEnd - readStart, cpuBoundDuration, AtomicDuration::Clock::now() - processingStart);
|
||||
m_Endpoint->AddInputTimes(waitEnd - waitStart, readEnd - readStart, cpuBoundDuration, AtomicDuration::Clock::now() - processingStart);
|
||||
}
|
||||
|
||||
l_TaskStats.InsertValue(Utility::GetTime(), 1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user