walterddr commented on code in PR #10384:
URL: https://github.com/apache/pinot/pull/10384#discussion_r1128151534


##########
pinot-core/src/main/java/org/apache/pinot/core/query/reduce/ExecutionStatsAggregator.java:
##########
@@ -275,83 +143,119 @@ public void setStats(@Nullable String rawTableName, 
BrokerResponseNative brokerR
     }
 
     // Set execution statistics.
-    brokerResponseNative.setNumDocsScanned(_numDocsScanned);
-    
brokerResponseNative.setNumEntriesScannedInFilter(_numEntriesScannedInFilter);
-    
brokerResponseNative.setNumEntriesScannedPostFilter(_numEntriesScannedPostFilter);
-    brokerResponseNative.setNumSegmentsQueried(_numSegmentsQueried);
-    brokerResponseNative.setNumSegmentsProcessed(_numSegmentsProcessed);
-    brokerResponseNative.setNumSegmentsMatched(_numSegmentsMatched);
-    brokerResponseNative.setTotalDocs(_numTotalDocs);
-    brokerResponseNative.setNumGroupsLimitReached(_numGroupsLimitReached);
-    brokerResponseNative.setOfflineThreadCpuTimeNs(_offlineThreadCpuTimeNs);
-    brokerResponseNative.setRealtimeThreadCpuTimeNs(_realtimeThreadCpuTimeNs);
-    
brokerResponseNative.setOfflineSystemActivitiesCpuTimeNs(_offlineSystemActivitiesCpuTimeNs);
-    
brokerResponseNative.setRealtimeSystemActivitiesCpuTimeNs(_realtimeSystemActivitiesCpuTimeNs);
-    
brokerResponseNative.setOfflineResponseSerializationCpuTimeNs(_offlineResponseSerializationCpuTimeNs);
-    
brokerResponseNative.setRealtimeResponseSerializationCpuTimeNs(_realtimeResponseSerializationCpuTimeNs);
-    brokerResponseNative.setOfflineTotalCpuTimeNs(_offlineTotalCpuTimeNs);
-    brokerResponseNative.setRealtimeTotalCpuTimeNs(_realtimeTotalCpuTimeNs);
-    
brokerResponseNative.setNumSegmentsPrunedByServer(_numSegmentsPrunedByServer);
-    
brokerResponseNative.setNumSegmentsPrunedInvalid(_numSegmentsPrunedInvalid);
-    
brokerResponseNative.setNumSegmentsPrunedByLimit(_numSegmentsPrunedByLimit);
-    
brokerResponseNative.setNumSegmentsPrunedByValue(_numSegmentsPrunedByValue);
-    
brokerResponseNative.setExplainPlanNumEmptyFilterSegments(_explainPlanNumEmptyFilterSegments);
-    
brokerResponseNative.setExplainPlanNumMatchAllFilterSegments(_explainPlanNumMatchAllFilterSegments);
-    if (_numConsumingSegmentsQueried > 0) {
-      
brokerResponseNative.setNumConsumingSegmentsQueried(_numConsumingSegmentsQueried);
+    
brokerResponseNative.setNumDocsScanned(getLongValue(DataTable.MetadataKey.NUM_DOCS_SCANNED));
+    brokerResponseNative.setNumEntriesScannedInFilter(
+        getLongValue(DataTable.MetadataKey.NUM_ENTRIES_SCANNED_IN_FILTER));
+    brokerResponseNative.setNumEntriesScannedPostFilter(
+        getLongValue(DataTable.MetadataKey.NUM_ENTRIES_SCANNED_POST_FILTER));
+    
brokerResponseNative.setNumSegmentsQueried(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_QUERIED));
+    
brokerResponseNative.setNumSegmentsProcessed(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_PROCESSED));
+    
brokerResponseNative.setNumSegmentsMatched(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_MATCHED));
+    
brokerResponseNative.setTotalDocs(getLongValue(DataTable.MetadataKey.TOTAL_DOCS));
+    brokerResponseNative.setNumGroupsLimitReached(Boolean.parseBoolean(
+        (String) 
_aggregatedStats.getOrDefault(DataTable.MetadataKey.NUM_GROUPS_LIMIT_REACHED, 
"false")));
+
+    brokerResponseNative.setNumSegmentsPrunedByServer(
+        getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_PRUNED_BY_SERVER));
+    
brokerResponseNative.setNumSegmentsPrunedInvalid(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_PRUNED_INVALID));
+    
brokerResponseNative.setNumSegmentsPrunedByLimit(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_PRUNED_BY_LIMIT));
+    
brokerResponseNative.setNumSegmentsPrunedByValue(getLongValue(DataTable.MetadataKey.NUM_SEGMENTS_PRUNED_BY_VALUE));
+    brokerResponseNative.setExplainPlanNumEmptyFilterSegments(
+        
getLongValue(DataTable.MetadataKey.EXPLAIN_PLAN_NUM_EMPTY_FILTER_SEGMENTS));
+    brokerResponseNative.setExplainPlanNumMatchAllFilterSegments(
+        
getLongValue(DataTable.MetadataKey.EXPLAIN_PLAN_NUM_MATCH_ALL_FILTER_SEGMENTS));
+
+    brokerResponseNative.setNumConsumingSegmentsQueried(
+        getLongValue(DataTable.MetadataKey.NUM_CONSUMING_SEGMENTS_QUERIED));
+    brokerResponseNative.setNumConsumingSegmentsProcessed(
+        getLongValue(DataTable.MetadataKey.NUM_CONSUMING_SEGMENTS_PROCESSED));
+    brokerResponseNative.setNumConsumingSegmentsMatched(
+        getLongValue(DataTable.MetadataKey.NUM_CONSUMING_SEGMENTS_MATCHED));
+
+    if 
(_aggregatedStats.containsKey(DataTable.MetadataKey.MIN_CONSUMING_FRESHNESS_TIME_MS))
 {
+      brokerResponseNative.setMinConsumingFreshnessTimeMs(
+          getLongValue(DataTable.MetadataKey.MIN_CONSUMING_FRESHNESS_TIME_MS));
+    }
+
+    // OFFLINE/REALTIME
+    String tableName = _tableNames.isEmpty() ? rawTableName : 
_tableNames.iterator().next();
+    TableType tableType = null;
+    if (tableName != null && tableName.isEmpty()) {
+      tableType = TableNameBuilder.getTableTypeFromTableName(tableName);
     }
-    if (_minConsumingFreshnessTimeMs != Long.MAX_VALUE) {
-      
brokerResponseNative.setMinConsumingFreshnessTimeMs(_minConsumingFreshnessTimeMs);
+
+    if (tableType == TableType.OFFLINE) {
+      
brokerResponseNative.setOfflineThreadCpuTimeNs(getLongValue(DataTable.MetadataKey.THREAD_CPU_TIME_NS));
+      brokerResponseNative.setOfflineSystemActivitiesCpuTimeNs(
+          getLongValue(DataTable.MetadataKey.SYSTEM_ACTIVITIES_CPU_TIME_NS));
+      brokerResponseNative.setOfflineResponseSerializationCpuTimeNs(
+          getLongValue(DataTable.MetadataKey.RESPONSE_SER_CPU_TIME_NS));
+      brokerResponseNative.setOfflineTotalCpuTimeNs(
+          brokerResponseNative.getOfflineThreadCpuTimeNs() + 
brokerResponseNative.getOfflineSystemActivitiesCpuTimeNs()
+              + brokerResponseNative.getOfflineResponseSerializationCpuTimeNs()
+              + brokerResponseNative.getOfflineThreadCpuTimeNs());
+    }
+
+    if (tableType == TableType.REALTIME) {
+      
brokerResponseNative.setRealtimeThreadCpuTimeNs(getLongValue(DataTable.MetadataKey.THREAD_CPU_TIME_NS));
+      brokerResponseNative.setRealtimeSystemActivitiesCpuTimeNs(
+          getLongValue(DataTable.MetadataKey.SYSTEM_ACTIVITIES_CPU_TIME_NS));
+      brokerResponseNative.setRealtimeResponseSerializationCpuTimeNs(
+          getLongValue(DataTable.MetadataKey.RESPONSE_SER_CPU_TIME_NS));
+      
brokerResponseNative.setRealtimeTotalCpuTimeNs(brokerResponseNative.getRealtimeThreadCpuTimeNs()
+          + brokerResponseNative.getRealtimeSystemActivitiesCpuTimeNs()
+          + brokerResponseNative.getRealtimeResponseSerializationCpuTimeNs());
     }
-    
brokerResponseNative.setNumConsumingSegmentsProcessed(_numConsumingSegmentsProcessed);
-    
brokerResponseNative.setNumConsumingSegmentsMatched(_numConsumingSegmentsMatched);
 
     // Update broker metrics.
     if (brokerMetrics != null && rawTableName != null) {
-      brokerMetrics.addMeteredTableValue(rawTableName, 
BrokerMeter.DOCUMENTS_SCANNED, _numDocsScanned);
-      brokerMetrics.addMeteredTableValue(rawTableName, 
BrokerMeter.ENTRIES_SCANNED_IN_FILTER,
-          _numEntriesScannedInFilter);
-      brokerMetrics.addMeteredTableValue(rawTableName, 
BrokerMeter.ENTRIES_SCANNED_POST_FILTER,
-          _numEntriesScannedPostFilter);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.OFFLINE_THREAD_CPU_TIME_NS, _offlineThreadCpuTimeNs,
-          TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.REALTIME_THREAD_CPU_TIME_NS, _realtimeThreadCpuTimeNs,
-          TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.OFFLINE_SYSTEM_ACTIVITIES_CPU_TIME_NS,
-          _offlineSystemActivitiesCpuTimeNs, TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.REALTIME_SYSTEM_ACTIVITIES_CPU_TIME_NS,
-          _realtimeSystemActivitiesCpuTimeNs, TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.OFFLINE_RESPONSE_SER_CPU_TIME_NS,
-          _offlineResponseSerializationCpuTimeNs, TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.REALTIME_RESPONSE_SER_CPU_TIME_NS,
-          _realtimeResponseSerializationCpuTimeNs, TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.OFFLINE_TOTAL_CPU_TIME_NS, _offlineTotalCpuTimeNs,
-          TimeUnit.NANOSECONDS);
-      brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.REALTIME_TOTAL_CPU_TIME_NS, _realtimeTotalCpuTimeNs,
-          TimeUnit.NANOSECONDS);
-
-      if (_minConsumingFreshnessTimeMs != Long.MAX_VALUE) {
-        brokerMetrics.addTimedTableValue(rawTableName, 
BrokerTimer.FRESHNESS_LAG_MS,
-            System.currentTimeMillis() - _minConsumingFreshnessTimeMs, 
TimeUnit.MILLISECONDS);
-      }
+      addBrokerMetrics(rawTableName, brokerMetrics, brokerResponseNative);

Review Comment:
   is one of the 2 for backward compatibility purpose? it seems like they add 
the same metrics keys.
   
   let's mark one of them as TODO clean up after next release.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to