From 03f4ebbe356e652bb52df7f7cf587404a568c61d Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Fri, 30 Jan 2015 16:17:39 +0000 Subject: [PATCH] add throttle stat --- .../java/src/net/i2p/router/transport/ntcp/EventPumper.java | 1 + .../java/src/net/i2p/router/transport/ntcp/NTCPTransport.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) 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 dd206a6a9d..3510ef0d9b 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 b48dab0902..4ed950aee3 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 -- GitLab