[freenet-cvs] r20477 - in branches/saltedhashstore/freenet/src/freenet: clients/http store

j16sdiz at freenetproject.org j16sdiz at freenetproject.org
Thu Jun 19 10:52:25 UTC 2008


Author: j16sdiz
Date: 2008-06-19 10:52:24 +0000 (Thu, 19 Jun 2008)
New Revision: 20477

Modified:
   branches/saltedhashstore/freenet/src/freenet/clients/http/StatisticsToadlet.java
   branches/saltedhashstore/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
   branches/saltedhashstore/freenet/src/freenet/store/FreenetStore.java
   branches/saltedhashstore/freenet/src/freenet/store/RAMFreenetStore.java
   branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
   branches/saltedhashstore/freenet/src/freenet/store/StoreCallback.java
Log:
Show bloom filter false positive


Modified: branches/saltedhashstore/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/clients/http/StatisticsToadlet.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/clients/http/StatisticsToadlet.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -80,7 +80,8 @@
 		peers = node.peers;
 	}
 
-	public String supportedMethods() {
+	@Override
+    public String supportedMethods() {
 		return "GET";
 	}
 
@@ -119,7 +120,8 @@
 		return count;
 	}
 
-	public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException {
+	@Override
+    public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException {
 
 		if(!ctx.isAllowedFullAccess()) {
 			super.sendErrorPage(ctx, 403, L10n.getString("Toadlet.unauthorizedTitle"), L10n.getString("Toadlet.unauthorized"));
@@ -169,8 +171,8 @@
 			contentNode.addChild(core.alerts.createSummary());
 		final int mode = ctx.getPageMaker().drawModeSelectionArray(core, request, contentNode);
 
-		double swaps = (double)node.getSwaps();
-		double noSwaps = (double)node.getNoSwaps();
+		double swaps = node.getSwaps();
+		double noSwaps = node.getNoSwaps();
 
 		HTMLNode overviewTable = contentNode.addChild("table", "class", "column");
 		HTMLNode overviewTableRow = overviewTable.addChild("tr");
@@ -363,9 +365,9 @@
 		HTMLNode jvmStatsList = jvmStatsInfoboxContent.addChild("ul");
 
 		Runtime rt = Runtime.getRuntime();
-		float freeMemory = (float) rt.freeMemory();
-		float totalMemory = (float) rt.totalMemory();
-		float maxMemory = (float) rt.maxMemory();
+		float freeMemory = rt.freeMemory();
+		float totalMemory = rt.totalMemory();
+		float maxMemory = rt.maxMemory();
 
 		long usedJavaMem = (long)(totalMemory - freeMemory);
 		long allocatedJavaMem = (long)totalMemory;
@@ -439,6 +441,8 @@
 		long storeAccesses = storeHits + storeMisses;
 		long cacheWrites=node.getChkDatacache().writes();
 		long storeWrites=node.getChkDatastore().writes();
+		long cacheFalsePos = node.getChkDatacache().getBloomFalsePositive();
+		long storeFalsePos = node.getChkDatastore().getBloomFalsePositive();
 
 		// 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)
@@ -513,6 +517,11 @@
 		row.addChild("td", fix1p2.format(1.0*storeWrites/nodeUptimeSeconds)+" /sec");
 		row.addChild("td", fix1p2.format(1.0*cacheWrites/nodeUptimeSeconds)+" /sec");
 		
+		row = storeSizeTable.addChild("tr");
+		row.addChild("td", "False Pos.");
+		row.addChild("td", thousendPoint.format(storeFalsePos));
+		row.addChild("td", thousendPoint.format(cacheFalsePos));
+		
 		// location-based stats
 		boolean hasLoc=true;
 		double nodeLoc=0.0;
@@ -627,13 +636,13 @@
 			locationSwapList.addChild("li", "locChangePerSwap:\u00a0" + fix1p6sci.format(locChangeSession/swaps));
 		}
 		if ((swaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-			locationSwapList.addChild("li", "locChangePerMinute:\u00a0" + fix1p6sci.format(locChangeSession/(double)(nodeUptimeSeconds/60.0)));
+			locationSwapList.addChild("li", "locChangePerMinute:\u00a0" + fix1p6sci.format(locChangeSession/(nodeUptimeSeconds/60.0)));
 		}
 		if ((swaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-			locationSwapList.addChild("li", "swapsPerMinute:\u00a0" + fix1p6sci.format(swaps/(double)(nodeUptimeSeconds/60.0)));
+			locationSwapList.addChild("li", "swapsPerMinute:\u00a0" + fix1p6sci.format(swaps/(nodeUptimeSeconds/60.0)));
 		}
 		if ((noSwaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-			locationSwapList.addChild("li", "noSwapsPerMinute:\u00a0" + fix1p6sci.format(noSwaps/(double)(nodeUptimeSeconds/60.0)));
+			locationSwapList.addChild("li", "noSwapsPerMinute:\u00a0" + fix1p6sci.format(noSwaps/(nodeUptimeSeconds/60.0)));
 		}
 		if ((swaps > 0.0) && (noSwaps > 0.0)) {
 			locationSwapList.addChild("li", "swapsPerNoSwaps:\u00a0" + fix1p6sci.format(swaps/noSwaps));
@@ -941,7 +950,7 @@
 		int networkSizeEstimateSession = stats.getNetworkSizeEstimate(-1);
 		int networkSizeEstimate24h = 0;
 		int networkSizeEstimate48h = 0;
-		double numberOfRemotePeerLocationsSeenInSwaps = (double)node.getNumberOfRemotePeerLocationsSeenInSwaps();
+		double numberOfRemotePeerLocationsSeenInSwaps = node.getNumberOfRemotePeerLocationsSeenInSwaps();
 
 		if(nodeUptimeSeconds > (24*60*60)) {  // 24 hours
 			networkSizeEstimate24h = stats.getNetworkSizeEstimate(now - (24*60*60*1000));  // 48 hours
@@ -1170,7 +1179,7 @@
 			// Make our own peer stand out from the crowd better so we can see it easier
 			offset = -10;
 		} else {
-			offset = (int) (((double) PEER_CIRCLE_INNER_RADIUS) * (1.0 - strength));
+			offset = (int) ((PEER_CIRCLE_INNER_RADIUS) * (1.0 - strength));
 		}
 		double x = PEER_CIRCLE_ADDITIONAL_FREE_SPACE + PEER_CIRCLE_RADIUS + Math.sin(peerLocation) * (PEER_CIRCLE_RADIUS - offset);
 		double y = PEER_CIRCLE_RADIUS - Math.cos(peerLocation) * (PEER_CIRCLE_RADIUS - offset);  // no PEER_CIRCLE_ADDITIONAL_FREE_SPACE for y-disposition

Modified: branches/saltedhashstore/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -37,7 +37,6 @@
 
 import freenet.crypt.RandomSource;
 import freenet.keys.KeyVerifyException;
-import freenet.node.NodeInitException;
 import freenet.node.SemiOrderedShutdownHook;
 import freenet.support.Fields;
 import freenet.support.HexUtil;
@@ -1774,14 +1773,16 @@
 	*/
 	private class StoreBlockTupleBinding extends TupleBinding {
 
-		public void objectToEntry(Object object, TupleOutput to)  {
+		@Override
+        public void objectToEntry(Object object, TupleOutput to)  {
 			StoreBlock myData = (StoreBlock)object;
 
 			to.writeLong(myData.getOffset());
 			to.writeLong(myData.getRecentlyUsed());
 		}
 
-		public Object entryToObject(TupleInput ti) {
+		@Override
+        public Object entryToObject(TupleInput ti) {
 			long offset = ti.readLong();
 			long lastAccessed = ti.readLong();
 			
@@ -1831,7 +1832,8 @@
 	}
 	
 	private class ShutdownHook extends Thread {
-		public void run() {
+		@Override
+        public void run() {
 			System.err.println("Closing database due to shutdown.");
 			close(true);
 		}
@@ -2303,4 +2305,8 @@
     	envConfig.setConfigParam("je.env.backgroundSleepInterval", "10000" /* microseconds */); // 10ms
         return envConfig;
     }
+
+	public long getBloomFalsePositive() {
+		return -1;
+	}
 }

Modified: branches/saltedhashstore/freenet/src/freenet/store/FreenetStore.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/FreenetStore.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/store/FreenetStore.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -53,4 +53,6 @@
 	public long writes();
 
 	public long keyCount();
+
+	public long getBloomFalsePositive();
 }

Modified: branches/saltedhashstore/freenet/src/freenet/store/RAMFreenetStore.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/RAMFreenetStore.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/store/RAMFreenetStore.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -57,7 +57,7 @@
 	}
 
 	public synchronized long getMaxKeys() {
-		return (long) maxKeys;
+		return maxKeys;
 	}
 
 	public synchronized long hits() {
@@ -122,4 +122,7 @@
 		return writes;
 	}
 
+	public long getBloomFalsePositive() {
+		return -1;
+	}
 }

Modified: branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -1383,6 +1383,10 @@
 		configLock.readLock().unlock();
 		return _storeSize;
 	}
+	
+	public long getBloomFalsePositive() {
+		return bloomFalsePos.get();
+	}
 
 	// ------------- Migration
 	public void migrationFrom(File storeFile, File keyFile) {

Modified: branches/saltedhashstore/freenet/src/freenet/store/StoreCallback.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/StoreCallback.java	2008-06-19 10:51:48 UTC (rev 20476)
+++ branches/saltedhashstore/freenet/src/freenet/store/StoreCallback.java	2008-06-19 10:52:24 UTC (rev 20477)
@@ -73,6 +73,10 @@
 	public long keyCount() {
 		return store.keyCount();
 	}
+	
+	public long getBloomFalsePositive() {
+		return store.getBloomFalsePositive();
+	}
 
 	/** Generate a routing key from a full key */
 	public abstract byte[] routingKeyFromFullKey(byte[] keyBuf);




More information about the cvs mailing list