lisa.analysis.tasks: Catch empty task_state df's
Created by: valschneider
Running trace.analysis.plot_tasks_activation() on a recent integration trace yields:
lisa/lisa/analysis/tasks.py in df_task_states(self, task, stringify)
459 """
460 tasks_df = list(self._df_tasks_states(tasks=[task]))
--> 461 task_id, task_df = tasks_df[0]
462 task_df = task_df.drop(columns=["pid", "comm"])
463
IndexError: list index out of range
It turns out that the task causing this exception is present in the trace, and has associated sched_switch / sched_wakeup events, but is eclipsed by the TraceView slice done on the downstream TestBundle.
Catch empty state df's in df_task_states(). Silently skip unplottable tasks in plot_tasks_activation().