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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8e8634532b emit numberTasks metrics from minion (#10195)
8e8634532b is described below

commit 8e8634532b3001704b05f8eb3d045eb43c5998a4
Author: Haitao Zhang <[email protected]>
AuthorDate: Fri Jan 27 11:59:23 2023 -0800

    emit numberTasks metrics from minion (#10195)
---
 docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml   | 2 +-
 docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml    | 2 +-
 .../src/main/java/org/apache/pinot/common/metrics/MinionMeter.java    | 2 +-
 .../java/org/apache/pinot/minion/taskfactory/TaskFactoryRegistry.java | 4 ++++
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml 
b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
index 8d493e90b6..40db0afbeb 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/minion.yml
@@ -10,7 +10,7 @@ rules:
   labels:
     table: "$1"
     tableType: "$2"
-- pattern: "\"org.apache.pinot.common.metrics\"<type=\"MinionMetrics\", 
name=\"pinot.minion.(.*?)_(OFFLINE|REALTIME).(\\w+).(taskExecution|taskQueueing|numberTasksExecuted|numberTasksCompleted|numberTasksCancelled|numberTasksFailed|numberTasksFatalFailed)\"><>(\\w+)"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"MinionMetrics\", 
name=\"pinot.minion.(.*?)_(OFFLINE|REALTIME).(\\w+).(taskExecution|taskQueueing|numberTasks|numberTasksExecuted|numberTasksCompleted|numberTasksCancelled|numberTasksFailed|numberTasksFatalFailed)\"><>(\\w+)"
   name: "pinot_minion_$4_$5"
   cache: true
   labels:
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 3294a974cb..fb4ba07095 100644
--- a/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml
+++ b/docker/images/pinot/etc/jmx_prometheus_javaagent/configs/pinot.yml
@@ -467,7 +467,7 @@ rules:
   labels:
     table: "$1"
     tableType: "$2"
-- pattern: "\"org.apache.pinot.common.metrics\"<type=\"MinionMetrics\", 
name=\"pinot.minion.(.*?)_(OFFLINE|REALTIME).(\\w+).(taskExecution|taskQueueing|numberTasksExecuted|numberTasksCompleted|numberTasksCancelled|numberTasksFailed|numberTasksFatalFailed)\"><>(\\w+)"
+- pattern: "\"org.apache.pinot.common.metrics\"<type=\"MinionMetrics\", 
name=\"pinot.minion.(.*?)_(OFFLINE|REALTIME).(\\w+).(taskExecution|taskQueueing|numberTasks|numberTasksExecuted|numberTasksCompleted|numberTasksCancelled|numberTasksFailed|numberTasksFatalFailed)\"><>(\\w+)"
   name: "pinot_minion_$4_$5"
   cache: true
   labels:
diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/metrics/MinionMeter.java 
b/pinot-common/src/main/java/org/apache/pinot/common/metrics/MinionMeter.java
index db25ca0f17..101a950389 100644
--- 
a/pinot-common/src/main/java/org/apache/pinot/common/metrics/MinionMeter.java
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/metrics/MinionMeter.java
@@ -24,7 +24,7 @@ import org.apache.pinot.common.Utils;
 public enum MinionMeter implements AbstractMetrics.Meter {
   HEALTH_CHECK_GOOD_CALLS("healthChecks", true),
   HEALTH_CHECK_BAD_CALLS("healthChecks", true),
-
+  NUMBER_TASKS("tasks", false),
   NUMBER_TASKS_EXECUTED("tasks", false),
   NUMBER_TASKS_COMPLETED("tasks", false),
   NUMBER_TASKS_CANCELLED("tasks", false),
diff --git 
a/pinot-minion/src/main/java/org/apache/pinot/minion/taskfactory/TaskFactoryRegistry.java
 
b/pinot-minion/src/main/java/org/apache/pinot/minion/taskfactory/TaskFactoryRegistry.java
index 0604ab4027..00c6fc494b 100644
--- 
a/pinot-minion/src/main/java/org/apache/pinot/minion/taskfactory/TaskFactoryRegistry.java
+++ 
b/pinot-minion/src/main/java/org/apache/pinot/minion/taskfactory/TaskFactoryRegistry.java
@@ -94,22 +94,26 @@ public class TaskFactoryRegistry {
                 PinotTaskConfig pinotTaskConfig = 
PinotTaskConfig.fromHelixTaskConfig(_taskConfig);
                 tableName = pinotTaskConfig.getTableName();
                 
_minionMetrics.addValueToGlobalGauge(MinionGauge.NUMBER_OF_TASKS, 1L);
+                _minionMetrics.addMeteredValue(taskType, 
MinionMeter.NUMBER_TASKS, 1L);
                 if (tableName != null) {
                   _minionMetrics
                       .addTimedTableValue(tableName, taskType, 
MinionTimer.TASK_QUEUEING,
                           jobDequeueTimeMs - jobInQueueTimeMs, 
TimeUnit.MILLISECONDS);
                   _minionMetrics.addValueToTableGauge(tableName, 
MinionGauge.NUMBER_OF_TASKS, 1L);
+                  _minionMetrics.addMeteredTableValue(tableName, taskType, 
MinionMeter.NUMBER_TASKS, 1L);
                 }
                 
MinionEventObservers.getInstance().addMinionEventObserver(_taskConfig.getId(), 
_eventObserver);
                 return runInternal(pinotTaskConfig);
               } finally {
                 
MinionEventObservers.getInstance().removeMinionEventObserver(_taskConfig.getId());
                 
_minionMetrics.addValueToGlobalGauge(MinionGauge.NUMBER_OF_TASKS, -1L);
+                _minionMetrics.addMeteredValue(taskType, 
MinionMeter.NUMBER_TASKS, -1L);
                 long executionTimeMs = System.currentTimeMillis() - 
jobDequeueTimeMs;
                 _minionMetrics
                     .addTimedValue(taskType, MinionTimer.TASK_EXECUTION, 
executionTimeMs, TimeUnit.MILLISECONDS);
                 if (tableName != null) {
                   _minionMetrics.addValueToTableGauge(tableName, 
MinionGauge.NUMBER_OF_TASKS, -1L);
+                  _minionMetrics.addMeteredTableValue(tableName, taskType, 
MinionMeter.NUMBER_TASKS, -1L);
                   _minionMetrics
                       .addTimedTableValue(tableName, taskType, 
MinionTimer.TASK_EXECUTION,
                           executionTimeMs, TimeUnit.MILLISECONDS);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to