diff options
author | Javi Merino <javi.merino@arm.com> | 2015-08-10 15:59:10 +0100 |
---|---|---|
committer | Javi Merino <javi.merino@arm.com> | 2015-08-13 18:59:58 +0100 |
commit | 435457c8af9d69383ba45e0bd7da022d967a8dea (patch) | |
tree | c591b2b6494bf95fbe25006503f4c0cf9870cf6e /trappy/pid_controller.py | |
parent | dea8e9d314e5b0f9213c5f3ecf87ef4369537082 (diff) | |
download | trappy-435457c8af9d69383ba45e0bd7da022d967a8dea.tar.gz |
trappy: rename to trappy
Change-Id: I7e0e34c9f5565e34629683bb29ab25cf5e737088
Diffstat (limited to 'trappy/pid_controller.py')
-rw-r--r-- | trappy/pid_controller.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/trappy/pid_controller.py b/trappy/pid_controller.py new file mode 100644 index 0000000..714f513 --- /dev/null +++ b/trappy/pid_controller.py @@ -0,0 +1,43 @@ +# Copyright 2015-2015 ARM Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +"""Process the output of the power allocator's PID controller in the +current directory's trace.dat""" + +from trappy.base import Base +from trappy.run import Run +from trappy.plot_utils import normalize_title, pre_plot_setup, post_plot_setup + +class PIDController(Base): + """Process the power allocator PID controller data in a ftrace dump""" + + name = "pid_controller" + + def __init__(self): + super(PIDController, self).__init__( + unique_word="thermal_power_allocator_pid", + ) + + def plot_controller(self, title="", width=None, height=None, ax=None): + """Plot a summary of the controller data""" + title = normalize_title("PID", title) + + if not ax: + ax = pre_plot_setup(width, height) + + self.data_frame[["output", "p", "i", "d"]].plot(ax=ax) + post_plot_setup(ax, title=title) + +Run.register_class(PIDController, "thermal") |