add metric for test Signed-off-by: Weihao Li <18110526956@163.com>
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java index 16c31d5..d00bd99 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
@@ -155,6 +155,9 @@ private boolean reservingMemoryForSchemaTree = false; + private long frontEndMemoryBytes = 0; + private long peakFrontEndMemoryBytes = 0; + private boolean resultSetColumnMemoryTrackingEnabled = false; private boolean alignByDeviceForResultSetColumnTracking = false; private long seriesLimitForResultSetColumnTracking = 0; @@ -271,6 +274,7 @@ return; } this.memoryReservationManager.releaseMemoryCumulatively(reservedMemoryCostForSchemaTree); + frontEndMemoryBytes -= reservedMemoryCostForSchemaTree; reservedMemoryCostForSchemaTree = 0; } @@ -653,6 +657,8 @@ public void reserveMemoryForFrontEnd(final long bytes) { try { this.memoryReservationManager.reserveMemoryCumulatively(bytes); + frontEndMemoryBytes += bytes; + peakFrontEndMemoryBytes = Math.max(peakFrontEndMemoryBytes, frontEndMemoryBytes); } catch (MemoryNotEnoughException e) { if (reservingMemoryForSchemaTree) { throw e; @@ -674,10 +680,17 @@ public void releaseAllMemoryReservedForFrontEnd() { this.memoryReservationManager.releaseAllReservedMemory(); + frontEndMemoryBytes = 0; + reservedMemoryCostForSchemaTree = 0; } public void releaseMemoryReservedForFrontEnd(final long bytes) { this.memoryReservationManager.releaseMemoryCumulatively(bytes); + frontEndMemoryBytes -= bytes; + } + + public long getPeakFrontEndMemoryBytes() { + return peakFrontEndMemoryBytes; } public void initResultSetColumnMemoryTracking(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/statistics/FragmentInstanceStatisticsDrawer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/statistics/FragmentInstanceStatisticsDrawer.java index e4e4d40..293a37e 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/statistics/FragmentInstanceStatisticsDrawer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/statistics/FragmentInstanceStatisticsDrawer.java
@@ -84,6 +84,11 @@ context.getDistributionPlanCost() * NS_TO_MS_FACTOR)); addLine( planHeader, + 0, + String.format( + "Coordinator FE Peak Memory: %d bytes", context.getPeakFrontEndMemoryBytes())); + addLine( + planHeader, 1, String.format( "Disk IO Size: %d bytes", context.getDiskIOSizeForDeviceEntryDuringDistributionPlan()));