diff options
| author | Orbiter <Orbiter@users.noreply.github.com> | 2016-08-26 12:15:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-26 12:15:39 +0200 |
| commit | e5955ac7456b1c45861f3147d2167540abec9219 (patch) | |
| tree | 2d1dc3b213c0ce2b88a992f0fda1d2ecffa9284e /htroot | |
| parent | 503312ca43d355e18466933804151dcdf7e688c6 (diff) | |
| parent | 1f48d65b66a53ac9243b958f83c704b3d6aac915 (diff) | |
Merge pull request #42 from otteresk/master
improve plotting to make better use of y range
Diffstat (limited to 'htroot')
| -rw-r--r-- | htroot/Network.html | 2 | ||||
| -rw-r--r-- | htroot/NetworkHistory.java | 26 | ||||
| -rw-r--r-- | htroot/PerformanceMemory_p.java | 2 |
3 files changed, 21 insertions, 9 deletions
diff --git a/htroot/Network.html b/htroot/Network.html index 576952a99..bb63252cf 100644 --- a/htroot/Network.html +++ b/htroot/Network.html @@ -390,7 +390,7 @@ document.getElementById("apilink").setAttribute("href", "Network.xml?" + window. scale: number of hours per scale unit in the bottom line
-->
<h3><b>Count of Connected Senior Peers</b> in the last two days, scale = 1h</h3>
- <img src="/NetworkHistory.png?columns=cC&scale=1&maxtime=48" />
+ <img src="/NetworkHistory.png?columns=cC&scale=1&maxtime=48&width=809" />
<h3><b>Count of all Active Peers Per Day</b> in the last week, scale = 1d</h3>
<img src="/NetworkHistory.png?columns=aD&scale=24&maxtime=168" />
<h3><b>Count of all Active Peers Per Week</b> in the last 30d, scale = 7d</h3>
diff --git a/htroot/NetworkHistory.java b/htroot/NetworkHistory.java index cc723ef89..da7833f97 100644 --- a/htroot/NetworkHistory.java +++ b/htroot/NetworkHistory.java @@ -97,8 +97,18 @@ public class NetworkHistory { if (v != null && v.longValue() > 0) minpeers = Math.min(minpeers, (int) v.longValue()); } } - maxpeers = 10 * ((maxpeers / 9 * 10) / 10); - minpeers = 10 * ((minpeers * 9 / 10) / 10); + if (minpeers == Integer.MAX_VALUE) minpeers=0; // no values + if (minpeers < 0) { + ConcurrentLog.warn("NetworkHistory", "Negative value in plot. columns:"+columns); + minpeers=0; + } + if (maxpeers-minpeers > 2*minpeers) minpeers=0; // if we are close enough to zero, use zero as minimum + int order=(int)Math.log10(maxpeers-minpeers); + if (order<1) order=1; + int scale=(int)Math.pow(10, order); + minpeers=(minpeers/scale)*scale; + maxpeers=((maxpeers/scale)+1)*scale; + if ((maxpeers-minpeers)/scale < 3) scale=Math.max(5,scale/2); final int leftborder = 30; final int rightborder = 10; final int width = post.getInt("width", 768 + leftborder + rightborder); @@ -107,7 +117,7 @@ public class NetworkHistory { final int topborder = 20; final int bottomborder = 20; final int vspace = height - topborder - bottomborder; - final int leftscale = 10 * (maxpeers / 100); + final int leftscale = scale; String timestr = maxtime + " HOURS"; if (maxtime > 24 && maxtime % 24 == 0) timestr = (maxtime / 24) + " DAYS"; if (maxtime == 168) timestr = "WEEK"; @@ -120,12 +130,14 @@ public class NetworkHistory { if (columns.contains("cC")) headline += ", ACTIVE SENIOR PEERS"; if (columns.contains("cD")) headline += ", PASSIVE SENIOR PEERS"; if (columns.contains("cP")) headline += ", POTENTIAL JUNIOR PEERS"; - if (columns.contains("cI")) headline = "YACY PEER '" + sb.peers.myName() + "' INDEX SIZE HISTORY: NUMBER OF DOCUMENTS"; - if (columns.contains("cR")) headline = "YACY PEER '" + sb.peers.myName() + "' INDEX SIZE HISTORY: NUMBER OF RWI ENTRIES"; + if (columns.contains("cI")) headline = "YACY PEER '" + sb.peers.myName().toUpperCase() + "' INDEX SIZE HISTORY: NUMBER OF DOCUMENTS"; + if (columns.contains("cR")) headline = "YACY PEER '" + sb.peers.myName().toUpperCase() + "' INDEX SIZE HISTORY: NUMBER OF RWI ENTRIES"; ChartPlotter chart = new ChartPlotter(width, height, 0xFFFFFFl, 0x000000l, 0xAAAAAAl, leftborder, rightborder, topborder, bottomborder, headline, "IN THE LAST " + timestr); - int pixelperscale = Math.max(16, hspace / (maxtime / bottomscale)); + long pps = (long)hspace * (long)bottomscale / maxtime; + int pixelperscale = Math.max(8, (int)pps ); chart.declareDimension(ChartPlotter.DIMENSION_BOTTOM, bottomscale, pixelperscale, -maxtime, 0x000000l, 0xCCCCCCl, "TIME/HOURS"); - pixelperscale = Math.max(16, 10 * ((vspace * leftscale / (maxpeers - minpeers)) / 10)); + pps = (long)vspace * (long)leftscale / (maxpeers-minpeers); + pixelperscale = Math.max(8, (int)pps ); chart.declareDimension(ChartPlotter.DIMENSION_LEFT, leftscale, pixelperscale, minpeers, 0x008800l, null , columns.contains("cI") ? "DOCUMENTS" : columns.contains("cR") ? "RWIs" : "PEERS"); // write the data diff --git a/htroot/PerformanceMemory_p.java b/htroot/PerformanceMemory_p.java index 50535d2ea..786ba2bf9 100644 --- a/htroot/PerformanceMemory_p.java +++ b/htroot/PerformanceMemory_p.java @@ -63,7 +63,7 @@ public class PerformanceMemory_p { System.gc();
prop.put("gc", "1");
prop.put("autoreload.checked", "1");
- } else {
+ } else if (post.containsKey("dummy")) {
boolean simulatedshortmemory = post.containsKey("simulatedshortmemory");
MemoryControl.setSimulatedShortStatus(simulatedshortmemory);
if (simulatedshortmemory) prop.put("autoreload.checked", "1");
|
