in backend/src/main/java/org/apache/iotdb/admin/service/impl/IotDBServiceImpl.java [2842:2957]
private MetricsChartDataVO getInterfaceCount(
SessionPool sessionPool,
SessionDataSetWrapper sessionDataSetWrapper,
String url,
Integer port) {
List<String> timeList = new ArrayList<>();
List<String> metricnameList = new ArrayList<>();
metricnameList.add("Close Operation");
metricnameList.add("Execute Query Statement");
metricnameList.add("Execute Statement");
metricnameList.add("Get Properties");
metricnameList.add("Insert Record");
metricnameList.add("Close Session");
metricnameList.add("Open Session");
metricnameList.add("Request Statement Id");
metricnameList.add("Fetch Results");
List<String> unitList = new ArrayList<>();
unitList.add("ms");
List<String> close_Operation = new ArrayList<>();
List<String> execute_Query_Statement = new ArrayList<>();
List<String> execute_Statement = new ArrayList<>();
List<String> get_Properties = new ArrayList<>();
List<String> insert_Record = new ArrayList<>();
List<String> close_Session = new ArrayList<>();
List<String> open_Session = new ArrayList<>();
List<String> request_Statement_Id = new ArrayList<>();
List<String> fetch_Results = 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
+ "\".\"entry_total\".\"name=closeOperation\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=executeQueryStatement\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=executeStatement\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=getProperties\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=insertRecord\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=closeSession\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=openSession\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=requestStatementId\", "
+ "root._metric.\"127.0.0.1:"
+ port
+ "\".\"entry_total\".\"name=fetchResults\" "
+ "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));
close_Operation.add(fields1.get(0).toString());
execute_Query_Statement.add(fields1.get(1).toString());
execute_Statement.add(fields1.get(2).toString());
get_Properties.add(fields1.get(3).toString());
insert_Record.add(fields1.get(4).toString());
close_Session.add(fields1.get(5).toString());
open_Session.add(fields1.get(6).toString());
request_Statement_Id.add(fields1.get(7).toString());
fetch_Results.add(fields1.get(8).toString());
}
Collections.reverse(close_Operation);
Collections.reverse(execute_Query_Statement);
Collections.reverse(execute_Statement);
Collections.reverse(get_Properties);
Collections.reverse(insert_Record);
Collections.reverse(close_Session);
Collections.reverse(open_Session);
Collections.reverse(request_Statement_Id);
Collections.reverse(fetch_Results);
dataList.put(metricnameList.get(0), close_Operation);
dataList.put(metricnameList.get(1), execute_Query_Statement);
dataList.put(metricnameList.get(2), execute_Statement);
dataList.put(metricnameList.get(3), get_Properties);
dataList.put(metricnameList.get(4), insert_Record);
dataList.put(metricnameList.get(5), close_Session);
dataList.put(metricnameList.get(6), open_Session);
dataList.put(metricnameList.get(7), request_Statement_Id);
dataList.put(metricnameList.get(8), fetch_Results);
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;
}