Github user jerryshao commented on a diff in the pull request: https://github.com/apache/spark/pull/19160#discussion_r139860924 --- Diff: core/src/main/scala/org/apache/spark/storage/BlockManager.scala --- @@ -248,6 +251,16 @@ private[spark] class BlockManager( logInfo(s"Initialized BlockManager: $blockManagerId") } + def shuffleMetricsSource: Source = { + import BlockManager._ + + if (externalShuffleServiceEnabled) { + new ShuffleMetricsSource("ExternalShuffle", shuffleClient.shuffleMetrics()) + } else { + new ShuffleMetricsSource("NettyBlockTransfer", shuffleClient.shuffleMetrics()) --- End diff -- For the external shuffle, we only have Transport client in the executor side, while for `NettyBlockTransfer` each executor will both server as transport client as well as server. So from my thought I explicitly distinguish those two cases.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org