This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/add_metrics
in repository https://gitbox.apache.org/repos/asf/tsfile.git

commit 792759c630d5830cfc9a9232bd36cc12bcdd59c8
Author: Beyyes <[email protected]>
AuthorDate: Tue Apr 2 18:39:27 2024 +0800

    add getUsedMemorySize method for IPointReader
---
 .../main/java/org/apache/tsfile/read/common/BatchData.java |  6 ++++++
 .../java/org/apache/tsfile/read/common/block/TsBlock.java  | 10 ++++++++++
 .../java/org/apache/tsfile/read/reader/IPointReader.java   |  2 ++
 .../read/reader/page/LazyLoadAlignedPagePointReader.java   | 14 +++++++++++---
 4 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/tsfile/src/main/java/org/apache/tsfile/read/common/BatchData.java 
b/tsfile/src/main/java/org/apache/tsfile/read/common/BatchData.java
index bc072b0e..bd89bcc7 100644
--- a/tsfile/src/main/java/org/apache/tsfile/read/common/BatchData.java
+++ b/tsfile/src/main/java/org/apache/tsfile/read/common/BatchData.java
@@ -855,6 +855,12 @@ public class BatchData {
       return new TimeValuePair(currentTime(), currentTsPrimitiveType());
     }
 
+    @Override
+    public long getUsedMemorySize() {
+      // not used
+      return 0;
+    }
+
     @Override
     public void close() {
       // do nothing
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlock.java 
b/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlock.java
index 1460e4f1..d6b7ca3d 100644
--- a/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlock.java
+++ b/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlock.java
@@ -305,6 +305,11 @@ public class TsBlock {
           timeColumn.getLong(rowIndex), 
valueColumns[columnIndex].getTsPrimitiveType(rowIndex));
     }
 
+    @Override
+    public long getUsedMemorySize() {
+      return getRetainedSizeInBytes();
+    }
+
     @Override
     public void close() {
       // do nothing
@@ -440,6 +445,11 @@ public class TsBlock {
           timeColumn.getLong(rowIndex), new 
TsPrimitiveType.TsVector(currentValue()));
     }
 
+    @Override
+    public long getUsedMemorySize() {
+      return getRetainedSizeInBytes();
+    }
+
     @Override
     public void close() {
       // do nothing
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/reader/IPointReader.java 
b/tsfile/src/main/java/org/apache/tsfile/read/reader/IPointReader.java
index a01d615f..1ec4600e 100644
--- a/tsfile/src/main/java/org/apache/tsfile/read/reader/IPointReader.java
+++ b/tsfile/src/main/java/org/apache/tsfile/read/reader/IPointReader.java
@@ -31,5 +31,7 @@ public interface IPointReader {
 
   TimeValuePair currentTimeValuePair() throws IOException;
 
+  long getUsedMemorySize();
+
   void close() throws IOException;
 }
diff --git 
a/tsfile/src/main/java/org/apache/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
 
b/tsfile/src/main/java/org/apache/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
index 07cde5f5..b28200ef 100644
--- 
a/tsfile/src/main/java/org/apache/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
+++ 
b/tsfile/src/main/java/org/apache/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
@@ -32,8 +32,8 @@ import java.util.List;
  */
 public class LazyLoadAlignedPagePointReader implements IPointReader {
 
-  private TimePageReader timeReader;
-  private List<ValuePageReader> valueReaders;
+  private final TimePageReader timeReader;
+  private final List<ValuePageReader> valueReaders;
 
   private boolean hasNextRow = false;
 
@@ -93,5 +93,13 @@ public class LazyLoadAlignedPagePointReader implements 
IPointReader {
   }
 
   @Override
-  public void close() throws IOException {}
+  public long getUsedMemorySize() {
+    // not used
+    return 0;
+  }
+
+  @Override
+  public void close() throws IOException {
+    // do nothing
+  }
 }

Reply via email to