Author: robert
Date: 2007-12-27 21:14:15 +0000 (Thu, 27 Dec 2007)
New Revision: 16822

Modified:
   trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
   trunk/freenet/src/freenet/store/FreenetStore.java
Log:
repair store/cache 'write' statistic


Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-12-27 21:04:36 UTC (rev 16821)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-12-27 21:14:15 UTC (rev 16822)
@@ -414,8 +414,8 @@
                long storeMisses = node.getChkDatastore().misses();
                long storeAccesses = storeHits + storeMisses;
                long overallAccesses = storeAccesses + cacheAccesses;
-               long cacheWrites=node.nodeStats.avgCacheLocation.countReports();
-               long storeWrites=node.nodeStats.avgStoreLocation.countReports();
+               long cacheWrites=node.getChkDatacache().writes();
+               long storeWrites=node.getChkDatastore().writes();

                // REDFLAG Don't show database version because it's not 
possible to get it accurately.
                // (It's a public static constant, so it will use the version 
from compile time of freenet.jar)

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-12-27 
21:04:36 UTC (rev 16821)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-12-27 
21:14:15 UTC (rev 16822)
@@ -77,6 +77,7 @@
        private long maxChkBlocks;
        private long hits = 0;
        private long misses = 0;
+       private long writes = 0;
        private final Database chkDB;
        private final SecondaryDatabase chkDB_accessTime;
        private final SecondaryDatabase chkDB_blockNum;
@@ -1742,6 +1743,7 @@
                        
chkStore.seek(storeBlock.getOffset()*(long)(dataBlockSize+headerBlockSize));
                        chkStore.write(header);
                        chkStore.write(data);
+                       writes++;
                }
        }

@@ -1783,6 +1785,7 @@
                        }
                        chkStore.write(header);
                        chkStore.write(data);
+                       writes++;
                }
                return true;
        }
@@ -1921,6 +1924,7 @@

                long blockNum;

+               //FIXME: What's the point of this loop?
                while(true) {
                                if((blockNum = grabFreeBlock()) >= 0) {
                                        if(logMINOR)
@@ -2217,6 +2221,10 @@
                return misses;
        }

+       public long writes() {
+               return writes;
+       }
+       
        public long keyCount() {
                return chkBlocksInStore;
        }

Modified: trunk/freenet/src/freenet/store/FreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/FreenetStore.java   2007-12-27 21:04:36 UTC 
(rev 16821)
+++ trunk/freenet/src/freenet/store/FreenetStore.java   2007-12-27 21:14:15 UTC 
(rev 16822)
@@ -65,6 +65,8 @@
        public long hits();

        public long misses();
+       
+       public long writes();

        public long keyCount();
 }


Reply via email to