diff --git a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java index dd206a6a9defe4c0dceb69a7479ec2511c502bce..3510ef0d9be52e949192fe233c91189ab52f7e21 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java +++ b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java @@ -283,6 +283,7 @@ class EventPumper implements Runnable { if (_log.shouldLog(Log.WARN)) _log.warn("EventPumper throttle " + loopCount + " loops in " + (System.currentTimeMillis() - lastFailsafeIteration) + " ms"); + _context.statManager().addRateData("ntcp.failsafeThrottle", 1); try { Thread.sleep(25); } catch (InterruptedException ie) {} diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index b48dab09023de79d21bae22d9592661575109a56..4ed950aee3bc6daeed122bcdbdc9ba0afa799987 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -122,6 +122,7 @@ public class NTCPTransport extends TransportImpl { _context.statManager().createRateStat("ntcp.failsafeWrites", "How many times do we need to proactively add in an extra nio write to a peer at any given failsafe pass?", "ntcp", RATES); _context.statManager().createRateStat("ntcp.failsafeCloses", "How many times do we need to proactively close an idle connection to a peer at any given failsafe pass?", "ntcp", RATES); _context.statManager().createRateStat("ntcp.failsafeInvalid", "How many times do we close a connection to a peer to work around a JVM bug?", "ntcp", RATES); + _context.statManager().createRateStat("ntcp.failsafeThrottle", "Delay event pumper", "ntcp", RATES); _context.statManager().createRateStat("ntcp.accept", "", "ntcp", RATES); _context.statManager().createRateStat("ntcp.attemptBanlistedPeer", "", "ntcp", RATES); _context.statManager().createRateStat("ntcp.attemptUnreachablePeer", "", "ntcp", RATES); @@ -245,7 +246,8 @@ public class NTCPTransport extends TransportImpl { return; } if (isNew) { - con.send(msg); // doesn't do anything yet, just enqueues it + // doesn't do anything yet, just enqueues it + con.send(msg); // As of 0.9.12, don't send our info if the first message is // doing the same (common when connecting to a floodfill). // Also, put the info message after whatever we are trying to send