This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch enhanceRamUsage in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit 0c6ca2c20d96a44d4339e6d2636c39a08ecd53c4 Author: JackieTien97 <[email protected]> AuthorDate: Tue Oct 22 11:47:22 2024 +0800 Make Binary implement Accountable --- java/common/src/main/java/org/apache/tsfile/utils/Binary.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/common/src/main/java/org/apache/tsfile/utils/Binary.java b/java/common/src/main/java/org/apache/tsfile/utils/Binary.java index a4a69672..f65d19c3 100644 --- a/java/common/src/main/java/org/apache/tsfile/utils/Binary.java +++ b/java/common/src/main/java/org/apache/tsfile/utils/Binary.java @@ -23,12 +23,16 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import static org.apache.tsfile.utils.RamUsageEstimator.shallowSizeOfInstance; +import static org.apache.tsfile.utils.RamUsageEstimator.sizeOf; + /** * Override compareTo() and equals() function to Binary class. This class is used to accept Java * String type */ -public class Binary implements Comparable<Binary>, Serializable { +public class Binary implements Comparable<Binary>, Serializable, Accountable { + private static final long INSTANCE_SIZE = shallowSizeOfInstance(Binary.class); private static final long serialVersionUID = 6394197743397020735L; public static final Binary EMPTY_VALUE = new Binary(new byte[0]); @@ -116,4 +120,9 @@ public class Binary implements Comparable<Binary>, Serializable { public void setValues(byte[] values) { this.values = values; } + + @Override + public long ramBytesUsed() { + return INSTANCE_SIZE + sizeOf(values); + } }
