From f0b1abe834232c9cde3a013bd7551ca5bf72c421 Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Sun, 10 Sep 2017 11:46:54 +0800 Subject: [PATCH] Delete the is heap property in memory pool entity --- .../handler/JVMMetricsServiceHandler.java | 3 +- .../memorypool/dao/MemoryPoolMetricEsDAO.java | 5 +- .../define/MemoryPoolMetricEsTableDefine.java | 3 +- .../define/MemoryPoolMetricH2TableDefine.java | 3 +- .../jvm/MemoryPoolMetricDataDefine.java | 31 +++---- .../define/jvm/MemoryPoolMetricTable.java | 1 - .../ui/dao/IMemoryPoolMetricDAO.java | 4 +- .../ui/dao/MemoryPoolMetricEsDAO.java | 9 +-- .../ui/service/InstanceJVMService.java | 80 ++++++------------- .../src/main/proto/JVMMetricsService.proto | 9 +-- 10 files changed, 50 insertions(+), 98 deletions(-) diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java index ddab788a8..92086b23c 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java @@ -111,10 +111,9 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe memoryPools.forEach(memoryPool -> { MemoryPoolMetricDataDefine.MemoryPoolMetric memoryPoolMetric = new MemoryPoolMetricDataDefine.MemoryPoolMetric(); - memoryPoolMetric.setId(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + memoryPool.getIsHeap() + Const.ID_SPLIT + String.valueOf(memoryPool.getType().getNumber())); + memoryPoolMetric.setId(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(memoryPool.getType().getNumber())); memoryPoolMetric.setInstanceId(instanceId); memoryPoolMetric.setPoolType(memoryPool.getType().getNumber()); - memoryPoolMetric.setHeap(memoryPool.getIsHeap()); memoryPoolMetric.setInit(memoryPool.getInit()); memoryPoolMetric.setMax(memoryPool.getMax()); memoryPoolMetric.setUsed(memoryPool.getUsed()); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/dao/MemoryPoolMetricEsDAO.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/dao/MemoryPoolMetricEsDAO.java index e363e4a16..5a7bef538 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/dao/MemoryPoolMetricEsDAO.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/dao/MemoryPoolMetricEsDAO.java @@ -4,11 +4,11 @@ import java.util.HashMap; import java.util.Map; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.update.UpdateRequestBuilder; +import org.skywalking.apm.collector.core.stream.Data; +import org.skywalking.apm.collector.storage.define.DataDefine; import org.skywalking.apm.collector.storage.define.jvm.MemoryPoolMetricTable; import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; import org.skywalking.apm.collector.stream.worker.impl.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.stream.Data; -import org.skywalking.apm.collector.storage.define.DataDefine; /** * @author pengys5 @@ -23,7 +23,6 @@ public class MemoryPoolMetricEsDAO extends EsDAO implements IMemoryPoolMetricDAO Map source = new HashMap<>(); source.put(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0)); source.put(MemoryPoolMetricTable.COLUMN_POOL_TYPE, data.getDataInteger(1)); - source.put(MemoryPoolMetricTable.COLUMN_IS_HEAP, data.getDataBoolean(0)); source.put(MemoryPoolMetricTable.COLUMN_INIT, data.getDataLong(0)); source.put(MemoryPoolMetricTable.COLUMN_MAX, data.getDataLong(1)); source.put(MemoryPoolMetricTable.COLUMN_USED, data.getDataLong(2)); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java index dac81726c..52c33ac4d 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java @@ -1,8 +1,8 @@ package org.skywalking.apm.collector.agentjvm.worker.memorypool.define; +import org.skywalking.apm.collector.storage.define.jvm.MemoryPoolMetricTable; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.jvm.MemoryPoolMetricTable; /** * @author pengys5 @@ -28,7 +28,6 @@ public class MemoryPoolMetricEsTableDefine extends ElasticSearchTableDefine { @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_POOL_TYPE, ElasticSearchColumnDefine.Type.Integer.name())); - addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_IS_HEAP, ElasticSearchColumnDefine.Type.Boolean.name())); addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_INIT, ElasticSearchColumnDefine.Type.Long.name())); addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_MAX, ElasticSearchColumnDefine.Type.Long.name())); addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_USED, ElasticSearchColumnDefine.Type.Long.name())); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricH2TableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricH2TableDefine.java index 2254eeac3..5c0ff39e5 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricH2TableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricH2TableDefine.java @@ -1,8 +1,8 @@ package org.skywalking.apm.collector.agentjvm.worker.memorypool.define; +import org.skywalking.apm.collector.storage.define.jvm.MemoryPoolMetricTable; import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; -import org.skywalking.apm.collector.storage.define.jvm.MemoryPoolMetricTable; /** * @author pengys5 @@ -17,7 +17,6 @@ public class MemoryPoolMetricH2TableDefine extends H2TableDefine { addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_ID, H2ColumnDefine.Type.Varchar.name())); addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, H2ColumnDefine.Type.Int.name())); addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_POOL_TYPE, H2ColumnDefine.Type.Int.name())); - addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_IS_HEAP, H2ColumnDefine.Type.Boolean.name())); addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_INIT, H2ColumnDefine.Type.Bigint.name())); addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_MAX, H2ColumnDefine.Type.Bigint.name())); addColumn(new H2ColumnDefine(MemoryPoolMetricTable.COLUMN_USED, H2ColumnDefine.Type.Bigint.name())); diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricDataDefine.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricDataDefine.java index a09265d50..b6fd3ee8e 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricDataDefine.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricDataDefine.java @@ -1,14 +1,14 @@ package org.skywalking.apm.collector.storage.define.jvm; import org.skywalking.apm.collector.core.framework.UnexpectedException; -import org.skywalking.apm.collector.remote.grpc.proto.RemoteData; -import org.skywalking.apm.collector.storage.define.Attribute; -import org.skywalking.apm.collector.storage.define.AttributeType; import org.skywalking.apm.collector.core.stream.Data; -import org.skywalking.apm.collector.storage.define.DataDefine; import org.skywalking.apm.collector.core.stream.Transform; import org.skywalking.apm.collector.core.stream.operate.CoverOperation; import org.skywalking.apm.collector.core.stream.operate.NonOperation; +import org.skywalking.apm.collector.remote.grpc.proto.RemoteData; +import org.skywalking.apm.collector.storage.define.Attribute; +import org.skywalking.apm.collector.storage.define.AttributeType; +import org.skywalking.apm.collector.storage.define.DataDefine; /** * @author pengys5 @@ -16,19 +16,18 @@ import org.skywalking.apm.collector.core.stream.operate.NonOperation; public class MemoryPoolMetricDataDefine extends DataDefine { @Override protected int initialCapacity() { - return 9; + return 8; } @Override protected void attributeDefine() { addAttribute(0, new Attribute(MemoryPoolMetricTable.COLUMN_ID, AttributeType.STRING, new NonOperation())); addAttribute(1, new Attribute(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, AttributeType.INTEGER, new CoverOperation())); addAttribute(2, new Attribute(MemoryPoolMetricTable.COLUMN_POOL_TYPE, AttributeType.INTEGER, new CoverOperation())); - addAttribute(3, new Attribute(MemoryPoolMetricTable.COLUMN_IS_HEAP, AttributeType.BOOLEAN, new CoverOperation())); - addAttribute(4, new Attribute(MemoryPoolMetricTable.COLUMN_INIT, AttributeType.LONG, new CoverOperation())); - addAttribute(5, new Attribute(MemoryPoolMetricTable.COLUMN_MAX, AttributeType.LONG, new CoverOperation())); - addAttribute(6, new Attribute(MemoryPoolMetricTable.COLUMN_USED, AttributeType.LONG, new CoverOperation())); - addAttribute(7, new Attribute(MemoryPoolMetricTable.COLUMN_COMMITTED, AttributeType.LONG, new CoverOperation())); - addAttribute(8, new Attribute(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, AttributeType.LONG, new CoverOperation())); + addAttribute(3, new Attribute(MemoryPoolMetricTable.COLUMN_INIT, AttributeType.LONG, new CoverOperation())); + addAttribute(4, new Attribute(MemoryPoolMetricTable.COLUMN_MAX, AttributeType.LONG, new CoverOperation())); + addAttribute(5, new Attribute(MemoryPoolMetricTable.COLUMN_USED, AttributeType.LONG, new CoverOperation())); + addAttribute(6, new Attribute(MemoryPoolMetricTable.COLUMN_COMMITTED, AttributeType.LONG, new CoverOperation())); + addAttribute(7, new Attribute(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, AttributeType.LONG, new CoverOperation())); } @Override public Object deserialize(RemoteData remoteData) { @@ -43,19 +42,17 @@ public class MemoryPoolMetricDataDefine extends DataDefine { private String id; private int instanceId; private int poolType; - private boolean isHeap; private long init; private long max; private long used; private long committed; private long timeBucket; - public MemoryPoolMetric(String id, int instanceId, int poolType, boolean isHeap, long init, long max, + public MemoryPoolMetric(String id, int instanceId, int poolType, long init, long max, long used, long committed, long timeBucket) { this.id = id; this.instanceId = instanceId; this.poolType = poolType; - this.isHeap = isHeap; this.init = init; this.max = max; this.used = used; @@ -72,7 +69,6 @@ public class MemoryPoolMetricDataDefine extends DataDefine { data.setDataString(0, this.id); data.setDataInteger(0, this.instanceId); data.setDataInteger(1, this.poolType); - data.setDataBoolean(0, this.isHeap); data.setDataLong(0, this.init); data.setDataLong(1, this.max); data.setDataLong(2, this.used); @@ -85,7 +81,6 @@ public class MemoryPoolMetricDataDefine extends DataDefine { this.id = data.getDataString(0); this.instanceId = data.getDataInteger(0); this.poolType = data.getDataInteger(1); - this.isHeap = data.getDataBoolean(0); this.init = data.getDataLong(0); this.max = data.getDataLong(1); this.used = data.getDataLong(2); @@ -106,10 +101,6 @@ public class MemoryPoolMetricDataDefine extends DataDefine { this.poolType = poolType; } - public void setHeap(boolean heap) { - isHeap = heap; - } - public void setInit(long init) { this.init = init; } diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricTable.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricTable.java index b321dda82..4af6bd98c 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricTable.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/define/jvm/MemoryPoolMetricTable.java @@ -9,7 +9,6 @@ public class MemoryPoolMetricTable extends CommonTable { public static final String TABLE = "memory_pool_metric"; public static final String COLUMN_INSTANCE_ID = "instance_id"; public static final String COLUMN_POOL_TYPE = "pool_type"; - public static final String COLUMN_IS_HEAP = "is_heap"; public static final String COLUMN_INIT = "init"; public static final String COLUMN_MAX = "max"; public static final String COLUMN_USED = "used"; diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/IMemoryPoolMetricDAO.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/IMemoryPoolMetricDAO.java index 64525c9fc..9a7e82235 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/IMemoryPoolMetricDAO.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/IMemoryPoolMetricDAO.java @@ -6,7 +6,7 @@ import com.google.gson.JsonObject; * @author pengys5 */ public interface IMemoryPoolMetricDAO { - JsonObject getMetric(int instanceId, long timeBucket, boolean isHeap, int poolType); + JsonObject getMetric(int instanceId, long timeBucket, int poolType); - JsonObject getMetric(int instanceId, long startTimeBucket, long endTimeBucket, boolean isHeap, int poolType); + JsonObject getMetric(int instanceId, long startTimeBucket, long endTimeBucket, int poolType); } diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/MemoryPoolMetricEsDAO.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/MemoryPoolMetricEsDAO.java index 222b9cfb6..edf1b4f3e 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/MemoryPoolMetricEsDAO.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/MemoryPoolMetricEsDAO.java @@ -16,8 +16,8 @@ import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; */ public class MemoryPoolMetricEsDAO extends EsDAO implements IMemoryPoolMetricDAO { - @Override public JsonObject getMetric(int instanceId, long timeBucket, boolean isHeap, int poolType) { - String id = timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + isHeap + Const.ID_SPLIT + poolType; + @Override public JsonObject getMetric(int instanceId, long timeBucket, int poolType) { + String id = timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + poolType; GetResponse getResponse = getClient().prepareGet(MemoryPoolMetricTable.TABLE, id).get(); JsonObject metric = new JsonObject(); @@ -33,14 +33,13 @@ public class MemoryPoolMetricEsDAO extends EsDAO implements IMemoryPoolMetricDAO return metric; } - @Override public JsonObject getMetric(int instanceId, long startTimeBucket, long endTimeBucket, boolean isHeap, - int poolType) { + @Override public JsonObject getMetric(int instanceId, long startTimeBucket, long endTimeBucket, int poolType) { MultiGetRequestBuilder prepareMultiGet = getClient().prepareMultiGet(); long timeBucket = startTimeBucket; do { timeBucket = TimeBucketUtils.INSTANCE.addSecondForSecondTimeBucket(TimeBucketUtils.TimeBucketType.SECOND.name(), timeBucket, 1); - String id = timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + isHeap + Const.ID_SPLIT + poolType; + String id = timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + poolType; prepareMultiGet.add(MemoryPoolMetricTable.TABLE, MemoryPoolMetricTable.TABLE_TYPE, id); } while (timeBucket <= endTimeBucket); diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java index 8b8fb00a5..99f9b9c31 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java @@ -30,11 +30,10 @@ public class InstanceJVMService { IInstanceDAO instanceDAO = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); InstanceDataDefine.Instance instance = instanceDAO.getInstance(instanceId); if (ObjectUtils.isEmpty(instance)) { - throw new UnexpectedException("instance id: " + instance + " not exist."); + throw new UnexpectedException("instance id: " + instanceId + " not exist."); } - JsonObject response = gson.fromJson(instance.getOsInfo(), JsonObject.class); - return response; + return gson.fromJson(instance.getOsInfo(), JsonObject.class); } public JsonObject getInstanceJvmMetric(int instanceId, Set metricTypes, long timeBucket) { @@ -58,36 +57,21 @@ public class InstanceJVMService { } else if (metricType.toLowerCase().equals(MetricType.nonheapmemory.name())) { IMemoryMetricDAO memoryMetricDAO = (IMemoryMetricDAO)DAOContainer.INSTANCE.get(IMemoryMetricDAO.class.getName()); metrics.add(MetricType.nonheapmemory.name(), memoryMetricDAO.getMetric(instanceId, timeBucket, false)); - } else if (metricType.toLowerCase().equals(MetricType.heappermgen.name())) { + } else if (metricType.toLowerCase().equals(MetricType.permgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heappermgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, true, PoolType.PERMGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapmetaspace.name())) { + metrics.add(MetricType.permgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, PoolType.PERMGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.metaspace.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapmetaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, true, PoolType.METASPACE_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapnewgen.name())) { + metrics.add(MetricType.metaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, PoolType.METASPACE_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.newgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, true, PoolType.NEWGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapoldgen.name())) { + metrics.add(MetricType.newgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, PoolType.NEWGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.oldgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapoldgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, true, PoolType.OLDGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapsurvivor.name())) { + metrics.add(MetricType.oldgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, PoolType.OLDGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.survivor.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapsurvivor.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, true, PoolType.SURVIVOR_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheappermgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheappermgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, false, PoolType.PERMGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapmetaspace.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapmetaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, false, PoolType.METASPACE_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapnewgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, false, PoolType.NEWGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapoldgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, false, PoolType.OLDGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapsurvivor.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapsurvivor.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, false, PoolType.OLDGEN_USAGE_VALUE)); + metrics.add(MetricType.survivor.name(), memoryPoolMetricDAO.getMetric(instanceId, timeBucket, PoolType.SURVIVOR_USAGE_VALUE)); } else { throw new UnexpectedException("unexpected metric type"); } @@ -117,36 +101,21 @@ public class InstanceJVMService { } else if (metricType.toLowerCase().equals(MetricType.nonheapmemory.name())) { IMemoryMetricDAO memoryMetricDAO = (IMemoryMetricDAO)DAOContainer.INSTANCE.get(IMemoryMetricDAO.class.getName()); metrics.add(MetricType.nonheapmemory.name(), memoryMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false)); - } else if (metricType.toLowerCase().equals(MetricType.heappermgen.name())) { + } else if (metricType.toLowerCase().equals(MetricType.permgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heappermgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, true, PoolType.PERMGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapmetaspace.name())) { + metrics.add(MetricType.permgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, PoolType.PERMGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.metaspace.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapmetaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, true, PoolType.METASPACE_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapnewgen.name())) { + metrics.add(MetricType.metaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, PoolType.METASPACE_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.newgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, true, PoolType.NEWGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapoldgen.name())) { + metrics.add(MetricType.newgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, PoolType.NEWGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.oldgen.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapoldgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, true, PoolType.OLDGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.heapsurvivor.name())) { + metrics.add(MetricType.oldgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, PoolType.OLDGEN_USAGE_VALUE)); + } else if (metricType.toLowerCase().equals(MetricType.survivor.name())) { IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.heapsurvivor.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, true, PoolType.SURVIVOR_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheappermgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheappermgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false, PoolType.PERMGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapmetaspace.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapmetaspace.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false, PoolType.METASPACE_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapnewgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false, PoolType.NEWGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapoldgen.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapnewgen.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false, PoolType.OLDGEN_USAGE_VALUE)); - } else if (metricType.toLowerCase().equals(MetricType.nonheapsurvivor.name())) { - IMemoryPoolMetricDAO memoryPoolMetricDAO = (IMemoryPoolMetricDAO)DAOContainer.INSTANCE.get(IMemoryPoolMetricDAO.class.getName()); - metrics.add(MetricType.nonheapsurvivor.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, false, PoolType.OLDGEN_USAGE_VALUE)); + metrics.add(MetricType.survivor.name(), memoryPoolMetricDAO.getMetric(instanceId, startTimeBucket, endTimeBucket, PoolType.SURVIVOR_USAGE_VALUE)); } else { throw new UnexpectedException("unexpected metric type"); } @@ -156,8 +125,7 @@ public class InstanceJVMService { } public enum MetricType { - cpu, gc, tps, resptime, heapmemory, heappermgen, heapmetaspace, heapnewgen, - heapoldgen, heapsurvivor, nonheapmemory, nonheappermgen, nonheapmetaspace, - nonheapnewgen, nonheapoldgen, nonheapsurvivor + cpu, gc, tps, resptime, heapmemory, nonheapmemory, permgen, metaspace, newgen, + oldgen, survivor } } diff --git a/apm-network/src/main/proto/JVMMetricsService.proto b/apm-network/src/main/proto/JVMMetricsService.proto index 4a32135d7..2f9bc8d72 100644 --- a/apm-network/src/main/proto/JVMMetricsService.proto +++ b/apm-network/src/main/proto/JVMMetricsService.proto @@ -37,11 +37,10 @@ message Memory { message MemoryPool { PoolType type = 1; - bool isHeap = 2; - int64 init = 3; - int64 max = 4; - int64 used = 5; - int64 commited = 6; + int64 init = 2; + int64 max = 3; + int64 used = 4; + int64 commited = 5; } enum PoolType {