.. title:: TasksAnalysis lisa.analysis.tasks.TasksAnalysis ================================= .. autoclass:: lisa.analysis.tasks::TasksAnalysis :no-members: :no-inherited-members: :no-undoc-members: :no-private-members: :no-special-members: .. rubric:: Attributes .. list-table:: :align: left * - :attr:`~lisa.analysis.tasks.TasksAnalysis.name` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.AnalysisHelpers Name of the analysis class. .. rubric:: Properties .. list-table:: :align: left * - :attr:`~lisa.analysis.tasks.TasksAnalysis.task_ids` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis List of all the :class:`TaskID` in the trace, sorted by PID. * - :attr:`~lisa.utils.Loggable.logger` :sup:`inherited` - .. withrefctx:: :module: lisa.utils :class: lisa.utils.Loggable Convenience short-hand for ``self.get_logger()``. .. rubric:: Methods .. list-table:: :align: left * - :meth:`~lisa.analysis.tasks.TasksAnalysis.cpus_of_tasks` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Return the list of CPUs where the ``tasks`` executed. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_rt_tasks` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Tasks with RT priority. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_task_activation` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of a task's active time on a given CPU. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_task_states` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of task's state updates events. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_task_total_residency` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of a task's execution time on each CPU. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_tasks_runtime` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of the time each task spent in TASK_ACTIVE (:class:`TaskState`). * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_tasks_states` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of all tasks state updates events. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_tasks_total_residency` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis DataFrame of tasks execution time on each CPU. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_tasks_wakeups` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis The number of wakeups per task. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.df_top_wakeup` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Tasks which wakeup more frequently than a specified threshold. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.get_task_id` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Helper that resolves a task PID or name to a :class:`TaskID`. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.get_task_ids` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Similar to :meth:`get_task_id` but returns a list with all the combinations, instead of raising an exception. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.get_task_name_pids` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Get the PIDs of all tasks with the specified name. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.get_task_pid_names` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Get the all the names of the task(s) with the specified PID, in appearance order. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.get_tasks` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Get a dictionary of all the tasks in the Trace. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_task_residency` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot on which CPUs the task ran on over time. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_task_total_residency` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot a task's total time spent on each CPU. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_activation` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot all tasks activations, in a style similar to kernelshark. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_forks` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot task forks over time. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_forks_heatmap` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot number of task forks over time as a heatmap. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_total_residency` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot the stacked total time spent by each task on each CPU. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_wakeups` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot task wakeups over time. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_wakeups_heatmap` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Plot tasks wakeups heatmap. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.stringify_df_task_states` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Adds stringified :class:`TaskState` columns to a Dataframe. * - :meth:`~lisa.analysis.tasks.TasksAnalysis.stringify_task_state_series` - .. withrefctx:: :module: lisa.analysis.tasks :class: lisa.analysis.tasks.TasksAnalysis Stringify a series containing :class:`TaskState` values. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.cache` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase Decorator to enable caching of the output of dataframe getter function in the trace cache. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.call_on_trace` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase Call a method of a subclass on a given trace. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.df_method` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase Dataframe function decorator. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.get_all_events` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase Returns the set of all events used by any of the methods. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.get_analysis_classes` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase * - :meth:`~lisa.analysis.base.TraceAnalysisBase.get_default_plot_path` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase Return the default path to use to save plots for the analysis. * - :meth:`~lisa.analysis.base.TraceAnalysisBase.get_df_methods` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.TraceAnalysisBase * - :meth:`~lisa.utils.Loggable.get_logger` :sup:`inherited` - .. withrefctx:: :module: lisa.utils :class: lisa.utils.Loggable Provides a :class:`logging.Logger` named after ``cls``. * - :meth:`~lisa.analysis.base.AnalysisHelpers.get_plot_methods` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.AnalysisHelpers * - :meth:`~lisa.utils.Loggable.log_locals` :sup:`inherited` - .. withrefctx:: :module: lisa.utils :class: lisa.utils.Loggable Debugging aid: log the local variables of the calling function. * - :meth:`~lisa.analysis.base.AnalysisHelpers.plot_method` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.AnalysisHelpers Plot function decorator. * - :meth:`~lisa.analysis.base.AnalysisHelpers.save_plot` :sup:`inherited` - .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.AnalysisHelpers Save a holoviews element or :class:`matplotlib.figure.Figure` as an image file. Attributes ---------- .. attribute:: TasksAnalysis.name :canonical: lisa.analysis.tasks.TasksAnalysis.name :value: 'tasks' .. withrefctx:: :module: lisa.analysis.base :class: lisa.analysis.base.AnalysisHelpers Name of the analysis class. Properties ---------- .. autoproperty:: lisa.analysis.tasks::TasksAnalysis.task_ids .. autoproperty:: lisa.analysis.tasks::TasksAnalysis.logger Methods ------- .. automethod:: lisa.analysis.tasks::TasksAnalysis.cpus_of_tasks .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_rt_tasks .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_task_activation .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_task_states .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_task_total_residency .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_tasks_runtime .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_tasks_states .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_tasks_total_residency .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_tasks_wakeups .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_top_wakeup .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_id .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_ids .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_name_pids .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_pid_names .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_tasks .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_task_residency .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_task_total_residency .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_activation .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_forks .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_forks_heatmap .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_total_residency .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_wakeups .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_tasks_wakeups_heatmap .. automethod:: lisa.analysis.tasks::TasksAnalysis.stringify_df_task_states .. automethod:: lisa.analysis.tasks::TasksAnalysis.stringify_task_state_series .. automethod:: lisa.analysis.tasks::TasksAnalysis.cache .. automethod:: lisa.analysis.tasks::TasksAnalysis.call_on_trace .. automethod:: lisa.analysis.tasks::TasksAnalysis.df_method .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_all_events .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_analysis_classes .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_default_plot_path .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_df_methods .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_logger .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_plot_methods .. automethod:: lisa.analysis.tasks::TasksAnalysis.log_locals .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_method .. automethod:: lisa.analysis.tasks::TasksAnalysis.save_plot .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_by_pid .. automethod:: lisa.analysis.tasks::TasksAnalysis.get_task_pid .. automethod:: lisa.analysis.tasks::TasksAnalysis.plot_task_activation