trappy.thermal module

Process the output of the power allocator trace in the current directory’s trace.dat

class trappy.thermal.Thermal(parse_raw=False)[source]

Bases: trappy.base.Base

Process the thermal framework data in a FTrace dump

name = 'thermal'

The name of the pandas.DataFrame member that will be created in a trappy.ftrace.FTrace object

pivot = 'id'

The Pivot along which the data is orthogonal

plot_temperature(control_temperature=None, title='', width=None, height=None, ylim='range', ax=None, legend_label='', tz_id=None)[source]

Plot the temperature.

Parameters:
  • ax (matplotlib.Axis) – Axis instance
  • legend_label (str) – Label for the legend
  • title (str) – The title of the plot
  • control_temperature (pandas.Series) – If control_temp is a pd.Series representing the (possible) variation of control_temp during the run, draw it using a dashed yellow line. Otherwise, only the temperature is plotted.
  • width (int) – The width of the plot
  • height (int) – The height of the plot
  • tz_id (int) – thermal zone id as it appears in the id field of the thermal_temperature trace event
plot_temperature_hist(ax, title)[source]

Plot a temperature histogram

Parameters:
  • ax (matplotlib.Axis) – Axis instance
  • title (str) – The title of the plot
unique_word = 'thermal_temperature:'

The unique word that will be matched in a trace line

class trappy.thermal.ThermalGovernor(parse_raw=False)[source]

Bases: trappy.base.Base

Process the power allocator data in a ftrace dump

name = 'thermal_governor'

The name of the pandas.DataFrame member that will be created in a trappy.ftrace.FTrace object

pivot = 'thermal_zone_id'

The Pivot along which the data is orthogonal

plot_inout_power(title='')[source]

Make multiple plots showing input and output power for each actor

Parameters:title (str) – The title of the plot
plot_input_power(actor_order, title='', width=None, height=None, ax=None)[source]

Plot input power

Parameters:
  • ax (matplotlib.Axis) – Axis instance
  • title (str) – The title of the plot
  • width (int) – The width of the plot
  • height – The height of the plot
  • actor_order (list) –

    An array showing the order in which the actors were registered. The array values are the labels that will be used in the input and output power plots.

    For Example:

    ["GPU", "A15", "A7"]
    
plot_output_power(actor_order, title='', width=None, height=None, ax=None)[source]

Plot output power

Parameters:
  • ax (matplotlib.Axis) – Axis instance
  • title (str) – The title of the plot
  • width (int) – The width of the plot
  • height – The height of the plot
  • actor_order (list) –

    An array showing the order in which the actors were registered. The array values are the labels that will be used in the input and output power plots.

    For Example:

    ["GPU", "A15", "A7"]
    
plot_temperature(title='', width=None, height=None, ylim='range', ax=None, legend_label='')[source]

Plot the temperature

plot_weighted_input_power(actor_weights, title='', width=None, height=None, ax=None)[source]

Plot weighted input power

Parameters:
  • actor_weights (list) – An array of tuples. First element of the tuple is the name of the actor, the second is the weight. The array is in the same order as the req_power appear in the trace.
  • ax (matplotlib.Axis) – Axis instance
  • title (str) – The title of the plot
  • width (int) – The width of the plot
  • height – The height of the plot
unique_word = 'thermal_power_allocator:'

The unique word that will be matched in a trace line