Zhen Wang created SPARK-59487:
---------------------------------

             Summary: Add task-level spans to correlate Spark tasks with 
executor profiling samples
                 Key: SPARK-59487
                 URL: https://issues.apache.org/jira/browse/SPARK-59487
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
    Affects Versions: 5.0.0
            Reporter: Zhen Wang


The executor profiler records samples associated with executor threads, but the 
profiling output currently lacks an explicit mapping between Spark task 
attempts and those threads over time. Since each executor thread can run 
multiple tasks sequentially, the thread identity alone is insufficient to 
determine which task produced a profiling sample. This makes it difficult to 
connect a slow task observed in the Spark UI with its corresponding profile.

Async-profiler introduced the Span API in [PR 
#1755|https://github.com/async-profiler/async-profiler/pull/1755]. A span 
records an execution interval on a thread with a user-defined tag, providing 
the thread and time information needed to associate profiling samples with a 
task attempt.

Add task-level spans to {{{}ProfilerExecutorPlugin{}}}, recording each task 
attempt’s interval with its stage, partition, task attempt identifiers, and 
completion status. These spans establish the task-to-thread mapping within the 
same JFR recording, allowing users to identify and analyze samples belonging to 
a specific task.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to