You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by jl...@apache.org on 2019/10/29 01:56:11 UTC

[incubator-pinot] branch clean-up-metrics created (now 09931aa)

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

jlli pushed a change to branch clean-up-metrics
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


      at 09931aa  Clean up duplicate/unused metrics in controller

This branch includes the following new commits:

     new 09931aa  Clean up duplicate/unused metrics in controller

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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


[incubator-pinot] 01/01: Clean up duplicate/unused metrics in controller

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jlli pushed a commit to branch clean-up-metrics
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git

commit 09931aa6dd46149effe2716d64dfc9bc86d1176a
Author: jackjlli <jl...@linkedin.com>
AuthorDate: Mon Oct 28 18:55:50 2019 -0700

    Clean up duplicate/unused metrics in controller
---
 .../pinot/common/metrics/ControllerMeter.java      |  4 ---
 .../pinot/common/metrics/ValidationMetrics.java    | 37 ----------------------
 .../realtime/PinotLLCRealtimeSegmentManager.java   |  2 --
 .../core/realtime/SegmentCompletionManager.java    |  5 ---
 4 files changed, 48 deletions(-)

diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerMeter.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerMeter.java
index 65a05f9..39ea8db 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerMeter.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ControllerMeter.java
@@ -37,14 +37,10 @@ public enum ControllerMeter implements AbstractMetrics.Meter {
   CONTROLLER_TABLE_TENANT_CREATE_ERROR("TableTenantCreateError", true),
   CONTROLLER_TABLE_TENANT_DELETE_ERROR("TableTenantDeleteError", true),
   CONTROLLER_REALTIME_TABLE_SEGMENT_ASSIGNMENT_ERROR("errors", true),
-  CONTROLLER_NOT_LEADER("notLeader", true),
   CONTROLLER_LEADERSHIP_CHANGE_WITHOUT_CALLBACK("leadershipChangeWithoutCallback", true),
   LLC_STATE_MACHINE_ABORTS("aborts", false),
   LLC_ZOOKEEPER_FETCH_FAILURES("failures", false),
   LLC_ZOOKEEPER_UPDATE_FAILURES("failures", false),
-  LLC_KAFKA_DATA_LOSS("dataLoss", false),
-  // Introducing a new stream agnostic metric to replace LLC_KAFKA_DATA_LOSS.
-  // We can phase out LLC_KAFKA_DATA_LOSS once we have collected sufficient metrics for the new one
   LLC_STREAM_DATA_LOSS("dataLoss", false),
   CONTROLLER_PERIODIC_TASK_RUN("periodicTaskRun", false),
   CONTROLLER_PERIODIC_TASK_ERROR("periodicTaskError", false),
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ValidationMetrics.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ValidationMetrics.java
index 8f4b4fd..9b87b74 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/ValidationMetrics.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/ValidationMetrics.java
@@ -54,29 +54,6 @@ public class ValidationMetrics {
   }
 
   /**
-   * A simple gauge that returns the difference between the current system time in millis and the value stored in the
-   * _gaugeValues hash map.
-   */
-  private class CurrentTimeMillisDeltaGauge extends Gauge<Long> {
-    private final String key;
-
-    public CurrentTimeMillisDeltaGauge(String key) {
-      this.key = key;
-    }
-
-    @Override
-    public Long value() {
-      Long gaugeValue = _gaugeValues.get(key);
-
-      if (gaugeValue != null && gaugeValue != Long.MIN_VALUE) {
-        return System.currentTimeMillis() - gaugeValue;
-      } else {
-        return Long.MIN_VALUE;
-      }
-    }
-  }
-
-  /**
    * A simple gauge that returns the difference in hours between the current system time and the value stored in the
    * _gaugeValues hash map.
    */
@@ -112,13 +89,6 @@ public class ValidationMetrics {
     }
   }
 
-  private class CurrentTimeMillisDeltaGaugeFactory implements GaugeFactory<Long> {
-    @Override
-    public Gauge<Long> buildGauge(final String key) {
-      return new CurrentTimeMillisDeltaGauge(key);
-    }
-  }
-
   private class CurrentTimeMillisDeltaGaugeHoursFactory implements GaugeFactory<Double> {
     @Override
     public Gauge<Double> buildGauge(final String key) {
@@ -127,8 +97,6 @@ public class ValidationMetrics {
   }
 
   private final StoredValueGaugeFactory _storedValueGaugeFactory = new StoredValueGaugeFactory();
-  private final CurrentTimeMillisDeltaGaugeFactory _currentTimeMillisDeltaGaugeFactory =
-      new CurrentTimeMillisDeltaGaugeFactory();
   private final CurrentTimeMillisDeltaGaugeHoursFactory _currentTimeMillisDeltaGaugeHoursFactory =
       new CurrentTimeMillisDeltaGaugeHoursFactory();
 
@@ -160,9 +128,6 @@ public class ValidationMetrics {
    *                               if there is no such time.
    */
   public void updateOfflineSegmentDelayGauge(final String resource, final long lastOfflineSegmentTime) {
-    final String fullGaugeName = makeGaugeName(resource, "offlineSegmentDelayMillis");
-    makeGauge(fullGaugeName, makeMetricName(fullGaugeName), _currentTimeMillisDeltaGaugeFactory,
-        lastOfflineSegmentTime);
     final String fullGaugeNameHours = makeGaugeName(resource, "offlineSegmentDelayHours");
     makeGauge(fullGaugeNameHours, makeMetricName(fullGaugeNameHours), _currentTimeMillisDeltaGaugeHoursFactory,
         lastOfflineSegmentTime);
@@ -176,8 +141,6 @@ public class ValidationMetrics {
    *                           such time.
    */
   public void updateLastPushTimeGauge(final String resource, final long lastPushTimeMillis) {
-    final String fullGaugeName = makeGaugeName(resource, "lastPushTimeDelayMillis");
-    makeGauge(fullGaugeName, makeMetricName(fullGaugeName), _currentTimeMillisDeltaGaugeFactory, lastPushTimeMillis);
     final String fullGaugeNameHours = makeGaugeName(resource, "lastPushTimeDelayHours");
     makeGauge(fullGaugeNameHours, makeMetricName(fullGaugeNameHours), _currentTimeMillisDeltaGaugeHoursFactory,
         lastPushTimeMillis);
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
index ef4fe68..1a654ed 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
@@ -891,7 +891,6 @@ public class PinotLLCRealtimeSegmentManager {
             if (partitionStartOffset > startOffset) {
               LOGGER.error("Data lost from offset: {} to: {} for partition: {} of table: {}", startOffset,
                   partitionStartOffset, partitionId, realtimeTableName);
-              _controllerMetrics.addMeteredTableValue(realtimeTableName, ControllerMeter.LLC_KAFKA_DATA_LOSS, 1L);
               _controllerMetrics.addMeteredTableValue(realtimeTableName, ControllerMeter.LLC_STREAM_DATA_LOSS, 1L);
               startOffset = partitionStartOffset;
             }
@@ -938,7 +937,6 @@ public class PinotLLCRealtimeSegmentManager {
             LOGGER
                 .error("Failed to find previous CONSUMING segment for partition: {} of table: {}, potential data loss",
                     partitionId, realtimeTableName);
-            _controllerMetrics.addMeteredTableValue(realtimeTableName, ControllerMeter.LLC_KAFKA_DATA_LOSS, 1L);
             _controllerMetrics.addMeteredTableValue(realtimeTableName, ControllerMeter.LLC_STREAM_DATA_LOSS, 1L);
           }
           updateInstanceStatesForNewConsumingSegment(instanceStatesMap, previousConsumingSegment, latestSegmentName,
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java
index d76837e..b467495 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/SegmentCompletionManager.java
@@ -165,7 +165,6 @@ public class SegmentCompletionManager {
     final String segmentNameStr = reqParams.getSegmentName();
     final String tableName = segmentNameStr.split(SEPARATOR)[0];
     if (!isLeader(tableName) || !_helixManager.isConnected()) {
-      _controllerMetrics.addMeteredGlobalValue(ControllerMeter.CONTROLLER_NOT_LEADER, 1L);
       return SegmentCompletionProtocol.RESP_NOT_LEADER;
     }
     final String instanceId = reqParams.getInstanceId();
@@ -204,7 +203,6 @@ public class SegmentCompletionManager {
     final String segmentNameStr = reqParams.getSegmentName();
     final String tableName = segmentNameStr.split(SEPARATOR)[0];
     if (!isLeader(tableName) || !_helixManager.isConnected()) {
-      _controllerMetrics.addMeteredGlobalValue(ControllerMeter.CONTROLLER_NOT_LEADER, 1L);
       return SegmentCompletionProtocol.RESP_NOT_LEADER;
     }
     final String instanceId = reqParams.getInstanceId();
@@ -229,7 +227,6 @@ public class SegmentCompletionManager {
     final String segmentNameStr = reqParams.getSegmentName();
     final String tableName = segmentNameStr.split(SEPARATOR)[0];
     if (!isLeader(tableName) || !_helixManager.isConnected()) {
-      _controllerMetrics.addMeteredGlobalValue(ControllerMeter.CONTROLLER_NOT_LEADER, 1L);
       return SegmentCompletionProtocol.RESP_NOT_LEADER;
     }
     final String instanceId = reqParams.getInstanceId();
@@ -261,7 +258,6 @@ public class SegmentCompletionManager {
     final String segmentNameStr = reqParams.getSegmentName();
     final String tableName = segmentNameStr.split(SEPARATOR)[0];
     if (!isLeader(tableName) || !_helixManager.isConnected()) {
-      _controllerMetrics.addMeteredGlobalValue(ControllerMeter.CONTROLLER_NOT_LEADER, 1L);
       return SegmentCompletionProtocol.RESP_NOT_LEADER;
     }
     final String instanceId = reqParams.getInstanceId();
@@ -298,7 +294,6 @@ public class SegmentCompletionManager {
     final String segmentNameStr = reqParams.getSegmentName();
     final String tableName = segmentNameStr.split(SEPARATOR)[0];
     if (!isLeader(tableName) || !_helixManager.isConnected()) {
-      _controllerMetrics.addMeteredGlobalValue(ControllerMeter.CONTROLLER_NOT_LEADER, 1L);
       return SegmentCompletionProtocol.RESP_NOT_LEADER;
     }
     LLCSegmentName segmentName = new LLCSegmentName(segmentNameStr);


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