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

yupeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c09b78  add a metirc of ideal state size after gzip (#6870)
1c09b78 is described below

commit 1c09b7866b4d1c8267847f464e9c4618787b5a15
Author: Yupeng Fu <yupe...@users.noreply.github.com>
AuthorDate: Sun May 2 21:27:00 2021 -0700

    add a metirc of ideal state size after gzip (#6870)
    
    * add a metirc of ideal state size after gzip
    
    * comments
    
    * format
---
 docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml   | 5 +++++
 .../main/java/org/apache/pinot/common/metrics/ControllerGauge.java   | 1 +
 .../java/org/apache/pinot/controller/helix/SegmentStatusChecker.java | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml 
b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml
index 40cd394..9b38cc9 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml
@@ -11,6 +11,11 @@ rules:
   labels:
     table: "$1"
     tableType: "$2"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"ControllerMetrics\", 
name=\"pinot.controller.idealstateZnodeByteSize.(\\w+)_(\\w+)\"><>(\\w+)"
+  name: "pinot_controller_idealstateZnodeByteSize_$3"
+  labels:
+    table: "$1"
+    tableType: "$2"
 - pattern: "\"org.apache.pinot.common.metrics\"<type=\"ControllerMetrics\", 
name=\"pinot.controller.numberOfReplicas.(\\w+)_(\\w+)\"><>(\\w+)"
   name: "pinot_controller_numberOfReplicas_$3"
   labels:
diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerGauge.java
 
b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerGauge.java
index 243a1a8..1ebeac1 100644
--- 
a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerGauge.java
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerGauge.java
@@ -40,6 +40,7 @@ public enum ControllerGauge implements AbstractMetrics.Gauge {
 
   SEGMENT_COUNT("SegmentCount", false),
   IDEALSTATE_ZNODE_SIZE("idealstate", false),
+  IDEALSTATE_ZNODE_BYTE_SIZE("idealstate", false),
   REALTIME_TABLE_COUNT("TableCount", true),
   OFFLINE_TABLE_COUNT("TableCount", true),
   DISABLED_TABLE_COUNT("TableCount", true),
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java
index 9501b28..193416c 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java
@@ -21,6 +21,7 @@ package org.apache.pinot.controller.helix;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
+import org.apache.helix.manager.zk.ZNRecordSerializer;
 import org.apache.helix.model.ExternalView;
 import org.apache.helix.model.IdealState;
 import org.apache.pinot.common.metadata.segment.OfflineSegmentZKMetadata;
@@ -50,6 +51,7 @@ public class SegmentStatusChecker extends 
ControllerPeriodicTask<SegmentStatusCh
 
   // log messages about disabled tables atmost once a day
   private static final long DISABLED_TABLE_LOG_INTERVAL_MS = 
TimeUnit.DAYS.toMillis(1);
+  private static final ZNRecordSerializer _recordSerializer = new 
ZNRecordSerializer();
   private long _lastDisabledTableLogTimestamp = 0;
 
   /**
@@ -146,6 +148,8 @@ public class SegmentStatusChecker extends 
ControllerPeriodicTask<SegmentStatusCh
 
     _controllerMetrics
         .setValueOfTableGauge(tableNameWithType, 
ControllerGauge.IDEALSTATE_ZNODE_SIZE, idealState.toString().length());
+    _controllerMetrics.setValueOfTableGauge(tableNameWithType, 
ControllerGauge.IDEALSTATE_ZNODE_BYTE_SIZE,
+        idealState.serialize(_recordSerializer).length);
     _controllerMetrics.setValueOfTableGauge(tableNameWithType, 
ControllerGauge.SEGMENT_COUNT,
         (long) (idealState.getPartitionSet().size()));
     ExternalView externalView = 
_pinotHelixResourceManager.getTableExternalView(tableNameWithType);

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to