andygrove opened a new issue, #7465: URL: https://github.com/apache/datafusion-comet/issues/7465
### What is the problem the feature request solves? Ballista takes a task's metrics from the operators of its stage plan. On a Comet Native Executor cluster, a stage's plan is a shuffle writer over a `CometFragmentExec`, whose children are the stage's partition descriptor and its shuffle readers. `CometFragmentExec` reports no metrics, and the Comet operators run in a plan it builds inside `execute`, which Ballista never sees. So in the scheduler's event logs (`COMET_SCHEDULER_EVENT_LOG_DIR`, #7420) and stage summaries: - A task's compute time (`elapsed_compute_nanos`) covers only its shuffle readers' poll time, and is 0 for a stage with no shuffle input. - Input rows count only the rows a stage reads from other stages, so a stage that reads files or makes its own rows logs 0. - The plan shows each block only as `CometFragmentExec: block=N bytes`. In a two-stage query, a range stage hash-shuffled into a stage that reads it, the range stage's task logged 0 input rows and 0 compute time, and the reading stage's task logged 1000 input rows and 3.3 ms, the shuffle reader's poll time. Output rows and task times are right. ### Describe the potential solution `CometFragmentExec` could keep the plan it builds for each partition and report the block's metrics from `metrics()`: its operators' `elapsed_compute`, and the output rows of its file scans and other leaves. Ballista sums `elapsed_compute` over every operator of the stage, so the block's figure shouldn't count the time its inputs spend in the shuffle readers, which report their own. Ballista counts a stage's input rows from the plan's leaves, and `CometFragmentExec` isn't one, so rows read from files need another way in, whether a leaf that reports them or a change to how Ballista counts input rows. #7373 needs the block's per-operator metrics too, to fill in the Spark UI. ### Additional context Found in the review of #7420: https://github.com/apache/datafusion-comet/pull/7420#discussion_r4460104688 Part of #7288. ### Willingness to contribute Yes. I can contribute this feature independently. -- 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]
