[ 
https://issues.apache.org/jira/browse/DRILL-6560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16540548#comment-16540548
 ] 

ASF GitHub Bot commented on DRILL-6560:
---------------------------------------

bitblender commented on a change in pull request #1355: DRILL-6560: Enhanced 
the batch statistics logging enablement
URL: https://github.com/apache/drill/pull/1355#discussion_r201807628
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/util/record/RecordBatchStats.java
 ##########
 @@ -100,6 +108,119 @@ private String getQueryId(FragmentContext _context) {
       }
       return "NA";
     }
+
+    private boolean isBatchStatsEnabledForOperator(FragmentContext context, 
OperatorContext oContext) {
+      // The configuration can select what operators should log batch 
statistics
+      final String statsLoggingOperator = 
context.getOptions().getString(ExecConstants.STATS_LOGGING_BATCH_OPERATOR_OPTION).toUpperCase();
+      final String allOperatorsStr = "ALL";
+
+      // All operators are allowed to log batch statistics
+      if (allOperatorsStr.equals(statsLoggingOperator)) {
+        return true;
+      }
+
+      // No, only a select few are allowed; syntax: 
operator-id-1,operator-id-2,..
+      final String[] operators = statsLoggingOperator.split(",");
+      final String operatorId = oContext.getStats().getId().toUpperCase();
+
+      for (int idx = 0; idx < operators.length; idx++) {
+        // We use "contains" because the operator identifier is a composite 
string; e.g., 3:[PARQUET_ROW_GROUP_SCAN]
+        if (operatorId.contains(operators[idx])) {
+          return true;
+        }
+      }
+
+      return false;
+    }
+  }
+
+  /**
+   * @see {@link RecordBatchStats#logRecordBatchStats(String, RecordBatch, 
RecordBatchStatsContext)}
+   */
+  public static void logRecordBatchStats(RecordBatch recordBatch,
+    RecordBatchStatsContext batchStatsContext) {
+
+    logRecordBatchStats(null, recordBatch, batchStatsContext);
+  }
+
+  /**
+   * Logs record batch statistics for the input record batch (logging happens 
only
+   * when record statistics logging is enabled).
+   *
+   * @param sourceId optional source identifier for scanners
+   * @param recordBatch a set of records
+   * @param batchStatsContext batch stats context object
+   */
+  public static void logRecordBatchStats(String sourceId,
 
 Review comment:
   Also, in a mid-stream operator, how to do I print stats in a way that will 
allow one to distinguish between the incoming batch stats and the outgoing 
batch stats in the log file ?
   
   Should there be a *String msg* parameter to allow the caller to tag the 
output ?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Allow options for controlling the batch size per operator
> ---------------------------------------------------------
>
>                 Key: DRILL-6560
>                 URL: https://issues.apache.org/jira/browse/DRILL-6560
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Flow
>            Reporter: salim achouche
>            Assignee: salim achouche
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.14.0
>
>
> This Jira is for internal Drill DEV use; the following capabilities are 
> needed for automating the batch sizing functionality testing:
>  * Control the enablement of batch sizing statistics at session (per query) 
> and server level (all queries)
>  * Control the granularity of batch sizing statistics (summary or verbose)
>  * Control the set of operators that should log batch statistics



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to