HeartSaVioR commented on a change in pull request #26127: [SPARK-29348][SQL] 
Add observable Metrics for Streaming queries
URL: https://github.com/apache/spark/pull/26127#discussion_r361888574
 
 

 ##########
 File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala
 ##########
 @@ -106,6 +106,9 @@ class QueryExecution(
   lazy val toRdd: RDD[InternalRow] = new SQLExecutionRDD(
     executedPlan.execute(), sparkSession.sessionState.conf)
 
+  /** Get the metrics observed during the execution of the query plan. */
+  def observedMetrics: Map[String, Row] = 
CollectMetricsExec.collect(executedPlan)
 
 Review comment:
   Ah my bad. Thanks for pointing it out. 
   
   Though I still feel listener stuff is more alike public API, as it can be 
used more than debug purpose. QueryExecutionListener and StreamingQueryListener 
take different approach, QueryExecutionListener directly exposes low-level 
internal instance and let end users use with caution, whereas 
StreamingQueryListener has individual classes which only contain information 
for report only, not exposing internal one.
   
   IMHO, I feel StreamingQueryListener is the right way to go, but 
QueryExecutionListener has been served long ago, so no strong opinion.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to