add path speed metrics for lokinetmon

pull/1086/head
Jeff Becker 4 years ago
parent fa15ab567d
commit e8b84fcfbd
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -103,6 +103,8 @@ namespace llarp
bool
Path::IsReady() const
{
if(Expired(llarp::time_now_ms()))
return false;
return intro.latency > 0 && _status == ePathEstablished;
}
@ -307,6 +309,8 @@ namespace llarp
{"expiresSoon", ExpiresSoon(now)},
{"expiresAt", ExpireTime()},
{"ready", IsReady()},
{"tx", m_LastTXRate},
{"rx", m_LastRXRate},
{"hasExit", SupportsAnyRoles(ePathRoleExit)}};
std::vector< util::StatusObject > hopsObj;
@ -359,6 +363,12 @@ namespace llarp
if(Expired(now))
return;
m_LastRXRate = m_RXRate;
m_LastTXRate = m_TXRate;
m_RXRate = 0;
m_TXRate = 0;
m_UpstreamReplayFilter.Decay(now);
m_DownstreamReplayFilter.Decay(now);
@ -420,7 +430,11 @@ namespace llarp
{
for(const auto& msg : msgs)
{
if(!r->SendToOrQueue(Upstream(), &msg))
if(r->SendToOrQueue(Upstream(), &msg))
{
m_TXRate += msg.X.size();
}
else
{
LogDebug("failed to send upstream to ", Upstream());
}
@ -531,6 +545,7 @@ namespace llarp
for(const auto& msg : msgs)
{
const llarp_buffer_t buf(msg.X);
m_RXRate += buf.sz;
if(!HandleRoutingMessage(buf, r))
{
LogWarn("failed to handle downstream message");

@ -405,6 +405,10 @@ namespace llarp
PathRole _role;
util::DecayingHashSet< TunnelNonce > m_UpstreamReplayFilter;
util::DecayingHashSet< TunnelNonce > m_DownstreamReplayFilter;
uint64_t m_LastRXRate = 0;
uint64_t m_RXRate = 0;
uint64_t m_LastTXRate = 0;
uint64_t m_TXRate = 0;
};
} // namespace path
} // namespace llarp

Loading…
Cancel
Save