in backend/src/main/java/org/apache/iotdb/admin/service/impl/IotDBServiceImpl.java [3443:3550]
private MetricsChartDataVO getMemUsedSize(
SessionPool sessionPool,
SessionDataSetWrapper sessionDataSetWrapper,
String url,
Integer port) {
List<String> timeList = new ArrayList<>();
List<String> metricnameList = new ArrayList<>();
metricnameList.add("storage");
metricnameList.add("max");
List<String> unitList = new ArrayList<>();
unitList.add("MB");
List<String> storage = new ArrayList<>();
List<String> max = new ArrayList<>();
HashMap<String, List<String>> dataList = new HashMap<>();
if (port == 6668) {
port = 8086;
}
String sql =
"select * from "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=nonheap\".\"id=Compressed Class Space\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=nonheap\".\"id=Code Cache\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=nonheap\".\"id=Metaspace\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=heap\".\"id=PS Old Gen\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=heap\".\"id=PS Eden Space\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.max\".\"area=heap\".\"id=PS Survivor Space\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=nonheap\".\"id=Compressed Class Space\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=nonheap\".\"id=Code Cache\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=nonheap\".\"id=Metaspace\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=heap\".\"id=PS Old Gen\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=heap\".\"id=PS Eden Space\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"jvm.memory.used\".\"area=heap\".\"id=PS Survivor Space\" "
+ "order by time desc limit 16";
MetricsChartDataVO metricsChartDataVO = new MetricsChartDataVO();
try {
sessionDataSetWrapper = sessionPool.executeQueryStatement(sql);
int batchSize = sessionDataSetWrapper.getBatchSize();
if (batchSize > 0) {
int count = 0;
while (sessionDataSetWrapper.hasNext()) {
count++;
RowRecord rowRecord = sessionDataSetWrapper.next();
long timestamp = rowRecord.getTimestamp();
List<org.apache.iotdb.tsfile.read.common.Field> fields1 = rowRecord.getFields();
String pattern1 = "HH:mm";
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat(pattern1);
timeList.add(simpleDateFormat1.format(timestamp));
storage.add(
getNetFileSizeDescription(
(getLongFromString(
(Float.parseFloat(fields1.get(6).toString())
+ Float.parseFloat(fields1.get(7).toString())
+ Float.parseFloat(fields1.get(8).toString())
+ Float.parseFloat(fields1.get(9).toString())
+ Float.parseFloat(fields1.get(10).toString())
+ Float.parseFloat(fields1.get(11).toString()))
+ ""))));
max.add(
getNetFileSizeDescription(
(getLongFromString(
(Float.parseFloat(fields1.get(0).toString())
+ Float.parseFloat(fields1.get(1).toString())
+ Float.parseFloat(fields1.get(2).toString())
+ Float.parseFloat(fields1.get(3).toString())
+ Float.parseFloat(fields1.get(4).toString())
+ Float.parseFloat(fields1.get(5).toString()))
+ ""))));
}
Collections.reverse(storage);
Collections.reverse(max);
dataList.put(metricnameList.get(0), storage);
dataList.put(metricnameList.get(1), max);
Collections.reverse(timeList);
metricsChartDataVO.setTimeList(timeList);
metricsChartDataVO.setMetricnameList(metricnameList);
metricsChartDataVO.setDataList(dataList);
metricsChartDataVO.setUnitList(unitList);
}
} catch (IoTDBConnectionException e) {
e.printStackTrace();
} catch (StatementExecutionException e) {
e.printStackTrace();
}
return metricsChartDataVO;
}