You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by ol...@apache.org on 2013/11/11 07:32:58 UTC
svn commit: r1540615 - in /incubator/sirona/trunk:
agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/
core/src/main/java/org/apache/sirona/gauges/jvm/
core/src/main/java/org/apache/sirona/repositories/
server/reporting/src/main/java/org/apac...
Author: olamy
Date: Mon Nov 11 06:32:58 2013
New Revision: 1540615
URL: http://svn.apache.org/r1540615
Log:
add a Gauge for heap off memory usage
Added:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java (with props)
Modified:
incubator/sirona/trunk/agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/PullAnswerTest.java
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/DefaultRepository.java
incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/jvm/JVMEndpoints.java
incubator/sirona/trunk/server/reporting/src/main/resources/templates/jvm/jvm.vm
Modified: incubator/sirona/trunk/agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/PullAnswerTest.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/PullAnswerTest.java?rev=1540615&r1=1540614&r2=1540615&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/PullAnswerTest.java (original)
+++ incubator/sirona/trunk/agent/pull/src/test/java/org/apache/sirona/agent/webapp/pull/PullAnswerTest.java Mon Nov 11 06:32:58 2013
@@ -37,12 +37,12 @@ public class PullAnswerTest {
public void json() {
final JSONArray snapshotJson = JSONArray.class.cast(
JSONSerializer.toJSON(createRepo().snapshot().replaceAll("\"time\": \"[^\"]*\"", "\"time\": \"assert\"").replaceAll("\"marker\": \"[^\"]*\"", "\"marker\": \"ubuntu\"")));
- assertEquals(8, snapshotJson.size());
+ assertEquals(9, snapshotJson.size());
final Collection<Integer> counters = new LinkedList<Integer>();
final Collection<String> gauges = new LinkedList<String>();
final Collection<String> validations = new LinkedList<String>();
- for (int i = 0; i < 8; i++) {
+ for (int i = 0; i < 9; i++) {
final JSONObject object = JSONObject.class.cast(snapshotJson.get(i));
final Object type = object.get("type");
final JSONObject data = JSONObject.class.cast(object.get("data"));
Added: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java?rev=1540615&view=auto
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java (added)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java Mon Nov 11 06:32:58 2013
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sirona.gauges.jvm;
+
+import org.apache.sirona.Role;
+import org.apache.sirona.counters.Unit;
+
+public class UsedNonHeapMemoryGauge
+ extends BaseMemoryGauge {
+ public static final Role USED_NONHEAPMEMORY = new Role("Used Non Heap Memory", Unit.UNARY);
+
+ @Override
+ public Role role() {
+ return USED_NONHEAPMEMORY;
+ }
+
+ @Override
+ public double value() {
+ return MEMORY_MX_BEAN.getNonHeapMemoryUsage().getUsed();
+ }
+}
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/gauges/jvm/UsedNonHeapMemoryGauge.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/DefaultRepository.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/DefaultRepository.java?rev=1540615&r1=1540614&r2=1540615&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/DefaultRepository.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/DefaultRepository.java Mon Nov 11 06:32:58 2013
@@ -24,6 +24,7 @@ import org.apache.sirona.gauges.DefaultG
import org.apache.sirona.gauges.Gauge;
import org.apache.sirona.gauges.GaugeManager;
import org.apache.sirona.gauges.jvm.CPUGauge;
+import org.apache.sirona.gauges.jvm.UsedNonHeapMemoryGauge;
import org.apache.sirona.gauges.jvm.UsedMemoryGauge;
import org.apache.sirona.status.NodeStatus;
import org.apache.sirona.stopwatches.CounterStopWatch;
@@ -77,6 +78,7 @@ public class DefaultRepository implement
if (Configuration.is(Configuration.CONFIG_PROPERTY_PREFIX + "core.gauge.activated", true)) {
addGauge(new CPUGauge());
addGauge(new UsedMemoryGauge());
+ addGauge(new UsedNonHeapMemoryGauge());
}
}
Modified: incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/jvm/JVMEndpoints.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/jvm/JVMEndpoints.java?rev=1540615&r1=1540614&r2=1540615&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/jvm/JVMEndpoints.java (original)
+++ incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/jvm/JVMEndpoints.java Mon Nov 11 06:32:58 2013
@@ -18,6 +18,7 @@ package org.apache.sirona.reporting.web.
import org.apache.sirona.gauges.jvm.CPUGauge;
import org.apache.sirona.gauges.jvm.UsedMemoryGauge;
+import org.apache.sirona.gauges.jvm.UsedNonHeapMemoryGauge;
import org.apache.sirona.reporting.web.handler.api.Regex;
import org.apache.sirona.reporting.web.handler.api.Template;
import org.apache.sirona.util.Environment;
@@ -43,7 +44,9 @@ public class JVMEndpoints {
params.put("version", os.getVersion());
params.put("numberProcessor", os.getAvailableProcessors());
params.put("maxMemory", memory.getHeapMemoryUsage().getMax());
- params.put("initMemory", memory.getHeapMemoryUsage().getInit());
+ params.put( "initMemory", memory.getHeapMemoryUsage().getInit() );
+ params.put("maxNonHeapMemory", memory.getNonHeapMemoryUsage().getMax());
+ params.put("initNonHeapMemory", memory.getNonHeapMemoryUsage().getInit());
}
return new Template("jvm/jvm.vm", params);
}
@@ -57,4 +60,9 @@ public class JVMEndpoints {
public String memory(final long start, final long end) {
return generateReport("Used Memory", UsedMemoryGauge.USED_MEMORY, start, end);
}
+
+ @Regex("/nonheapmemory/([0-9]*)/([0-9]*)")
+ public String nonHeapmemory(final long start, final long end) {
+ return generateReport("Used Non Heap Memory", UsedNonHeapMemoryGauge.USED_NONHEAPMEMORY, start, end);
+ }
}
Modified: incubator/sirona/trunk/server/reporting/src/main/resources/templates/jvm/jvm.vm
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/resources/templates/jvm/jvm.vm?rev=1540615&r1=1540614&r2=1540615&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/resources/templates/jvm/jvm.vm (original)
+++ incubator/sirona/trunk/server/reporting/src/main/resources/templates/jvm/jvm.vm Mon Nov 11 06:32:58 2013
@@ -60,6 +60,29 @@
</div>
#end
</div>
+
+ <div class="col-lg-6">
+ #graphBlock("Used Non Heap Memory", "nonheapmemory")
+
+ #if ($initMemory)
+ <div class="panel panel-primary">
+ <div class="panel-heading">
+ <h3 class="panel-title">
+ <i class="icon-table"></i>Memory Status
+ </h3>
+ </div>
+ <div class="panel-body">
+ <table id="memory-table" class="table table-bordered table-striped table-hover">
+ <tbody>
+ <tr><td>Init</td><td>$initNonHeapMemory</td></tr>
+ <tr><td>Max</td><td>$maxNonHeapMemory</td></tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ #end
+ </div>
+
</div>
</div>
@@ -113,5 +136,6 @@
// update diagram when clicking on update buttons
Sirona.initGraph("$mapping", 'jvm', 'cpu', cpuOptions);
Sirona.initGraph("$mapping", 'jvm', 'memory', memoryOptions);
+ Sirona.initGraph("$mapping", 'jvm', 'nonheapmemory', memoryOptions);
});
</script>