Use moving average to calculate tunnel creation success rate

This commit is contained in:
Tomas Globis 2023-01-03 03:07:07 +03:00
parent d5b03f214b
commit 66f82cb43f
No known key found for this signature in database
GPG key ID: E86E34EAA5DB652F
2 changed files with 22 additions and 13 deletions

View file

@ -332,8 +332,7 @@ namespace tunnel
Tunnels tunnels;
Tunnels::Tunnels (): m_IsRunning (false), m_Thread (nullptr),
m_NumSuccesiveTunnelCreations (0), m_NumFailedTunnelCreations (0)
{
m_TunnelCreationSuccessRate (TCSR_START_VALUE), m_TunnelCreationAttemptsNum(0) {
}
Tunnels::~Tunnels ()
@ -630,7 +629,7 @@ namespace tunnel
}
// delete
it = pendingTunnels.erase (it);
m_NumFailedTunnelCreations++;
FailedTunnelCreation();
}
else
++it;
@ -638,7 +637,7 @@ namespace tunnel
case eTunnelStateBuildFailed:
LogPrint (eLogDebug, "Tunnel: Pending build request ", it->first, " failed, deleted");
it = pendingTunnels.erase (it);
m_NumFailedTunnelCreations++;
FailedTunnelCreation();
break;
case eTunnelStateBuildReplyReceived:
// intermediate state, will be either established of build failed
@ -647,7 +646,7 @@ namespace tunnel
default:
// success
it = pendingTunnels.erase (it);
m_NumSuccesiveTunnelCreations++;
SuccesiveTunnelCreation();
}
}
}