marin-ma commented on code in PR #6475:
URL: https://github.com/apache/incubator-gluten/pull/6475#discussion_r1688973227


##########
backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxMetricsApi.scala:
##########
@@ -258,27 +258,33 @@ class VeloxMetricsApi extends MetricsApi with Logging {
       sparkContext: SparkContext,
       isSort: Boolean): Map[String, SQLMetric] = {
     val baseMetrics = Map(
-      "dataSize" -> SQLMetrics.createSizeMetric(sparkContext, "data size"),
       "numPartitions" -> SQLMetrics.createMetric(sparkContext, "number of 
partitions"),
+      "dataSize" -> SQLMetrics.createSizeMetric(sparkContext, "data size"),
       "bytesSpilled" -> SQLMetrics.createSizeMetric(sparkContext, "shuffle 
bytes spilled"),
-      "splitBufferSize" -> SQLMetrics.createSizeMetric(sparkContext, "split 
buffer size"),
-      "splitTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time to 
split"),
-      "spillTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time to 
spill"),
-      "deserializeTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, 
"time to deserialize"),
       "avgReadBatchNumRows" -> SQLMetrics
         .createAverageMetric(sparkContext, "avg read batch num rows"),
       "numInputRows" -> SQLMetrics.createMetric(sparkContext, "number of input 
rows"),
       "numOutputRows" -> SQLMetrics
         .createMetric(sparkContext, "number of output rows"),
       "inputBatches" -> SQLMetrics
-        .createMetric(sparkContext, "number of input batches")
+        .createMetric(sparkContext, "number of input batches"),
+      "spillTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time to 
spill"),
+      "compressTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time 
to compress"),
+      "decompressTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, 
"time to decompress"),
+      "deserializeTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, 
"time to deserialize"),
+      // For hash shuffle writer, the peak bytes represents the maximum split 
buffer size.
+      // For sort shuffle writer, the peak bytes represents the maximum
+      // row buffer + sort buffer size.
+      "peakBytes" -> SQLMetrics.createSizeMetric(sparkContext, "peak bytes 
allocated")
     )
     if (isSort) {
-      baseMetrics
+      baseMetrics ++ Map(
+        "sortTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time to 
shuffle sort"),
+        "c2rTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time to 
shuffle c2r")

Review Comment:
   > Perhaps we can introduce a new metrics shuffle write wall time to 
calculate the real time for both hash and sort shuffle, and modify the analysis 
script to use this one.
   
   Will address in follow-up PR.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to