Mercurial > java-rrd-hg
changeset 47:e66923c7bac3
* keep more statistics
author | Peter Stamfest <peter@stamfest.at> |
---|---|
date | Mon, 04 Nov 2013 21:09:48 +0100 |
parents | 061017e16d4b |
children | 79cd80808d6d |
files | src/main/java/net/stamfest/rrd/util/RRDFeedThread.java src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfo.java src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfoMBean.java |
diffstat | 3 files changed, 47 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/net/stamfest/rrd/util/RRDFeedThread.java Mon Nov 04 20:22:27 2013 +0100 +++ b/src/main/java/net/stamfest/rrd/util/RRDFeedThread.java Mon Nov 04 21:09:48 2013 +0100 @@ -98,6 +98,9 @@ private boolean askstop = false; private int lostCount = 0; private int addedCount = 0; + private int updatesSent = 0; + private int updatesOK = 0; + private int overruns = 0; /** * Constructor. The thread has to be started explicitly after construction. @@ -139,6 +142,7 @@ feed.notify(); } } else { + overruns++; logger.log(Level.FINEST, "full!"); // do not add - we are full! @@ -197,8 +201,11 @@ logger.log(Level.FINEST, "updating {0} {1}", new Object[]{fde.filename, fde.args}); } + updatesSent++; CommandResult result = service.update(fde.filename, fde.args); - if (!result.ok) { + if (result.ok) { + updatesOK++; + } else { /* problem with the command, protocol OK - do not re-add */ lostCount++; logger.log(Level.INFO, "Could not update {0} {1} error: {2}", @@ -311,7 +318,26 @@ public int getQueueSize() { return feed.size(); } - + + /** Returns the number of update attempts. */ + public int getUpdatesSent() { + return updatesSent; + } + + /** Returns the number of successful update attempts */ + public int getUpdatesOK() { + return updatesOK; + } + + /** + * Returns how often the queue was full when a new update was queued, that + * is, how often an update was lost. + */ + public int getOverruns() { + return overruns; + } + + private RRDFeedThreadJMXInfo mbean = null; /** * Register a JMX MBean for this feeder thread. You should call
--- a/src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfo.java Mon Nov 04 20:22:27 2013 +0100 +++ b/src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfo.java Mon Nov 04 21:09:48 2013 +0100 @@ -67,4 +67,16 @@ public boolean isAskedStop() { return t.isAskedStop(); } + + public int getUpdatesSent() { + return t.getUpdatesSent(); + } + + public int getUpdatesOK() { + return t.getUpdatesOK(); + } + + public int getOverruns() { + return t.getOverruns(); + } }
--- a/src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfoMBean.java Mon Nov 04 20:22:27 2013 +0100 +++ b/src/main/java/net/stamfest/rrd/util/RRDFeedThreadJMXInfoMBean.java Mon Nov 04 21:09:48 2013 +0100 @@ -26,6 +26,12 @@ public int getGuessEvery(); public void setGuessEvery(int every); - + + public int getUpdatesSent(); + + public int getUpdatesOK(); + + public int getOverruns(); + public boolean isAskedStop(); }