Author: j16sdiz
Date: 2009-03-21 05:12:52 +0000 (Sat, 21 Mar 2009)
New Revision: 26133

Modified:
   trunk/freenet/src/freenet/node/NodeStats.java
Log:
Fix div-by-zero in NodeStat

Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java       2009-03-21 00:27:55 UTC 
(rev 26132)
+++ trunk/freenet/src/freenet/node/NodeStats.java       2009-03-21 05:12:52 UTC 
(rev 26133)
@@ -1052,6 +1052,7 @@
                synchronized(this) {
                        fs.put("startupTime", node.startupTime);
                        nodeUptimeSeconds = (now - node.startupTime) / 1000;
+                       if (nodeUptimeSeconds == 0) nodeUptimeSeconds = 1;      
// prevent division by zero
                        fs.put("uptimeSeconds", nodeUptimeSeconds);
                }
                fs.put("averagePingTime", getNodeAveragePingTime());
@@ -1117,7 +1118,7 @@
                long total_input_rate = (total[1]) / nodeUptimeSeconds;
                long totalPayloadOutput = node.getTotalPayloadSent();
                long total_payload_output_rate = totalPayloadOutput / 
nodeUptimeSeconds;
-               int total_payload_output_percent = (int) (100 * 
totalPayloadOutput / total[0]);
+               int total_payload_output_percent = (total[0]==0)?-1:(int) (100 
* totalPayloadOutput / total[0]);
                fs.put("totalOutputBytes", total[0]);
                fs.put("totalOutputRate", total_output_rate);
                fs.put("totalPayloadOutputBytes", totalPayloadOutput);
@@ -1128,8 +1129,8 @@
 
                long[] rate = getNodeIOStats();
                long deltaMS = (rate[5] - rate[2]);
-               double recent_output_rate = 1000.0 * (rate[3] - rate[0]) / 
deltaMS;
-               double recent_input_rate = 1000.0 * (rate[4] - rate[1]) / 
deltaMS;
+               double recent_output_rate = deltaMS==0?0:(1000.0 * (rate[3] - 
rate[0]) / deltaMS);
+               double recent_input_rate = deltaMS==0?0:(1000.0 * (rate[4] - 
rate[1]) / deltaMS);
                fs.put("recentOutputRate", recent_output_rate);
                fs.put("recentInputRate", recent_input_rate);
 

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to