From 5c528a797b80c1f290cf601148810dd7b832a9f7 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Fri, 17 Jun 2022 13:21:24 +0100 Subject: [PATCH 1/3] setup.py: Bump devlib requirement --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 6847a88c4..222f27a8c 100755 --- a/setup.py +++ b/setup.py @@ -148,7 +148,7 @@ if __name__ == "__main__": # Depdendencies that are shipped as part of the LISA repo as # subtree/submodule - "devlib >= 1.3.1", + "devlib >= 1.3.4", 'jinja2', -- GitLab From 7845207a40ecdf30ca2fa3758796eb4f16bca93b Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Fri, 1 Apr 2022 14:04:03 +0100 Subject: [PATCH 2/3] lisa: Bump removal date for deprecated APIs Let live deprecated APIs for longer unless they are really problematic. --- lisa/analysis/base.py | 12 ++++++------ lisa/analysis/load_tracking.py | 4 ++-- lisa/analysis/tasks.py | 2 +- lisa/datautils.py | 2 +- lisa/energy_meter.py | 2 +- lisa/energy_model.py | 4 ++-- lisa/fuzz.py | 2 +- lisa/trace.py | 14 +++++++------- lisa/wa_results_collector.py | 2 +- lisa/wlgen/rta.py | 16 ++++++++-------- lisa/wlgen/workload.py | 2 +- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/lisa/analysis/base.py b/lisa/analysis/base.py index 4aa99a3eb..c819e1c15 100644 --- a/lisa/analysis/base.py +++ b/lisa/analysis/base.py @@ -69,7 +69,7 @@ class AnalysisHelpers(Loggable, abc.ABC): """ @classmethod - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def setup_plot(cls, width=16, height=4, ncols=1, nrows=1, interactive=None, link_dataframes=None, cursor_delta=None, **kwargs): """ Common helper for setting up a matplotlib plot @@ -145,7 +145,7 @@ class AnalysisHelpers(Loggable, abc.ABC): @classmethod @contextlib.contextmanager - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def set_axis_cycler(cls, axis, *cyclers): """ Context manager to set cyclers on an axis (and the default cycler as @@ -214,7 +214,7 @@ class AnalysisHelpers(Loggable, abc.ABC): @classmethod @contextlib.contextmanager - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def set_axis_rc_params(cls, axis, rc_params): """ Context manager to set ``matplotlib.rcParams`` while plotting, and then @@ -233,7 +233,7 @@ class AnalysisHelpers(Loggable, abc.ABC): matplotlib.rcParams.update(orig) @classmethod - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def cycle_colors(cls, axis, nr_cycles=1): """ Cycle the axis color cycle ``nr_cycles`` forward @@ -261,7 +261,7 @@ class AnalysisHelpers(Loggable, abc.ABC): axis.set_prop_cycle(make_cycler(color=colors[nr_cycles:] + colors[:nr_cycles])) @classmethod - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def get_next_color(cls, axis): """ Get the next color that will be used to draw lines on the axis @@ -356,7 +356,7 @@ class AnalysisHelpers(Loggable, abc.ABC): backend=backend, ) - @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='3.0') + @deprecate('Made irrelevant by the use of holoviews', deprecated_in='2.0', removed_in='4.0') def do_plot(self, plotter, axis=None, **kwargs): """ Simple helper for consistent behavior across methods. diff --git a/lisa/analysis/load_tracking.py b/lisa/analysis/load_tracking.py index 34468e699..e204648f9 100644 --- a/lisa/analysis/load_tracking.py +++ b/lisa/analysis/load_tracking.py @@ -178,7 +178,7 @@ class LoadTrackingAnalysis(TraceAnalysisBase): df = df[df['cpu'].isin(cpus)] return df - @deprecate(replaced_by=df_cpus_signal, deprecated_in='2.0', removed_in='3.0') + @deprecate(replaced_by=df_cpus_signal, deprecated_in='2.0', removed_in='4.0') @requires_one_event_of(*_SCHED_PELT_CFS_NAMES) def df_cpus_signals(self): """ @@ -257,7 +257,7 @@ class LoadTrackingAnalysis(TraceAnalysisBase): df = self.df_tasks_signal(signal=signal) return df_filter_task_ids(df, [task_id]) - @deprecate(replaced_by=df_tasks_signal, deprecated_in='2.0', removed_in='3.0') + @deprecate(replaced_by=df_tasks_signal, deprecated_in='2.0', removed_in='4.0') @requires_one_event_of(*_SCHED_PELT_SE_NAMES) def df_tasks_signals(self): """ diff --git a/lisa/analysis/tasks.py b/lisa/analysis/tasks.py index 93b761f90..5033aa24c 100644 --- a/lisa/analysis/tasks.py +++ b/lisa/analysis/tasks.py @@ -1419,7 +1419,7 @@ class TasksAnalysis(TraceAnalysisBase): @TraceAnalysisBase.plot_method @plot_tasks_activation.used_events @kwargs_forwarded_to(plot_tasks_activation, ignore=['tasks']) - @deprecate('Deprecated since it does not provide anything more than plot_tasks_activation', deprecated_in='2.0', removed_in='3.0', replaced_by=plot_tasks_activation) + @deprecate('Deprecated since it does not provide anything more than plot_tasks_activation', deprecated_in='2.0', removed_in='4.0', replaced_by=plot_tasks_activation) def plot_task_activation(self, task: TaskID, **kwargs): """ Plot task activations, in a style similar to kernelshark. diff --git a/lisa/datautils.py b/lisa/datautils.py index 982ea3783..808669898 100644 --- a/lisa/datautils.py +++ b/lisa/datautils.py @@ -1148,7 +1148,7 @@ def series_envelope_mean(series): return (maxs_mean - mins_mean) / 2 + mins_mean # Keep an alias in place for compatibility -@deprecate(replaced_by=series_envelope_mean, deprecated_in='2.0', removed_in='3.0') +@deprecate(replaced_by=series_envelope_mean, deprecated_in='2.0', removed_in='4.0') def series_tunnel_mean(*args, **kwargs): return series_envelope_mean(*args, **kwargs) diff --git a/lisa/energy_meter.py b/lisa/energy_meter.py index d2f459d87..e72898d50 100644 --- a/lisa/energy_meter.py +++ b/lisa/energy_meter.py @@ -48,7 +48,7 @@ EnergyReport = namedtuple('EnergyReport', _deprecate_emeter = deprecate( 'LISA energy meters are deprecated, please use devlib instruments or contribute the instrument to devlib', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', ) diff --git a/lisa/energy_model.py b/lisa/energy_model.py index c7240eb4f..810d32ac4 100644 --- a/lisa/energy_model.py +++ b/lisa/energy_model.py @@ -817,7 +817,7 @@ class EnergyModel(Serializable, Loggable): return em - @deprecate(replaced_by='lisa.energy_model.LinuxEnergyModel.from_target', deprecated_in='2.0', removed_in='3.0') + @deprecate(replaced_by='lisa.energy_model.LinuxEnergyModel.from_target', deprecated_in='2.0', removed_in='4.0') @staticmethod def from_debugfsEM_target(*args, **kwargs): """ @@ -825,7 +825,7 @@ class EnergyModel(Serializable, Loggable): """ return LinuxEnergyModel.from_target(*args, **kwargs) - @deprecate(replaced_by='lisa.energy_model.LegacyEnergyModel.from_target', deprecated_in='2.0', removed_in='3.0') + @deprecate(replaced_by='lisa.energy_model.LegacyEnergyModel.from_target', deprecated_in='2.0', removed_in='4.0') @staticmethod def from_sd_target(*args, **kwargs): """ diff --git a/lisa/fuzz.py b/lisa/fuzz.py index 763ab5b6f..9e0e2867d 100644 --- a/lisa/fuzz.py +++ b/lisa/fuzz.py @@ -158,7 +158,7 @@ class Gen: return (yield from self._action.__await__()) @classmethod - @deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=GenMonad.do, + @deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=GenMonad.do, msg='Note that GenMonad.do() will not automatically await on arguments if they are Gen instances, this must be done manually.', ) def lift(cls, f): diff --git a/lisa/trace.py b/lisa/trace.py index 3b5c376ad..a239c0f36 100644 --- a/lisa/trace.py +++ b/lisa/trace.py @@ -2070,7 +2070,7 @@ class TraceBase(abc.ABC): @deprecate('Prefer adding delta once signals have been extracted from the event dataframe for correctness', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', replaced_by=df_add_delta, ) def add_events_deltas(self, df, col_name='delta', inplace=True): @@ -2109,7 +2109,7 @@ class TraceBase(abc.ABC): @deprecate('This method has been deprecated and is an alias', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', replaced_by='df_event', ) def df_events(self, *args, **kwargs): @@ -2117,7 +2117,7 @@ class TraceBase(abc.ABC): @deprecate('This method has been deprecated and is an alias for "trace.ana.notebook.df_all_events()"', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', replaced_by='lisa.analysis.notebook.NotebookAnalysis.df_all_event', ) def df_all_events(self, *args, **kwargs): @@ -4406,7 +4406,7 @@ class Trace(Loggable, TraceBase): @deprecate('This method has been deprecated and is an alias', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', replaced_by=get_task_name_pids, ) def get_task_by_name(self, name): @@ -4431,7 +4431,7 @@ class Trace(Loggable, TraceBase): @deprecate('This function raises exceptions when faced with ambiguity instead of giving the choice to the user', deprecated_in='2.0', - removed_in='3.0', + removed_in='4.0', replaced_by=get_task_pid_names, ) def get_task_by_pid(self, pid): @@ -4536,7 +4536,7 @@ class Trace(Loggable, TraceBase): return task_ids[0] - @deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=get_task_id) + @deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=get_task_id) def get_task_pid(self, task): """ Helper that takes either a name or a PID and always returns a PID @@ -5425,7 +5425,7 @@ class CollectorBase(Loggable): coll.set_output(path) return coll.get_data() - @deprecate(replaced_by=get_data, deprecated_in='2.0', removed_in='3.0') + @deprecate(replaced_by=get_data, deprecated_in='2.0', removed_in='4.0') def get_trace(self, path): """ Deprecated alias for :meth:`get_data`. diff --git a/lisa/wa_results_collector.py b/lisa/wa_results_collector.py index 3d0c51afe..4232ba206 100644 --- a/lisa/wa_results_collector.py +++ b/lisa/wa_results_collector.py @@ -45,7 +45,7 @@ import lisa.wa been replaced by :mod:`lisa.wa`. """ -@deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=lisa.wa.WAOutput) +@deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=lisa.wa.WAOutput) class WaResultsCollector(Loggable): """ Collects, analyses and visualises results from multiple WA3 directories diff --git a/lisa/wlgen/rta.py b/lisa/wlgen/rta.py index fdd21754c..c3e36ee8e 100644 --- a/lisa/wlgen/rta.py +++ b/lisa/wlgen/rta.py @@ -650,7 +650,7 @@ class RTA(Workload): self._late_init(conf=conf) return self - @deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=from_profile) + @deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=from_profile) @classmethod def by_profile(cls, *args, **kwargs): return cls.from_profile(*args, **kwargs) @@ -702,7 +702,7 @@ class RTA(Workload): self._late_init(conf=conf) return self - @deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=from_str) + @deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=from_str) @classmethod def by_str(cls, *args, **kwargs): return cls.from_profile(*args, **kwargs) @@ -4081,7 +4081,7 @@ class _RTATask(RTAPhaseTree): return self._priority -@deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=RTAPhase) +@deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=RTAPhase) class RTATask(_RTATask): """ Base class for conveniently constructing params to :meth:`RTA.from_profile` @@ -4149,7 +4149,7 @@ class _Ramp(_RTATask): ) -@deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=DutyCycleSweepPhase) +@deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=DutyCycleSweepPhase) class Ramp(_Ramp): """ Configure a ramp load. @@ -4191,7 +4191,7 @@ class Ramp(_Ramp): """ -@deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=DutyCycleSweepPhase) +@deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=DutyCycleSweepPhase) class Step(_Ramp): """ Configure a step load. @@ -4289,7 +4289,7 @@ class _Pulse(_RTATask): ) -@deprecate(deprecated_in='2.0', removed_in='3.0', replaced_by=RTAPhase) +@deprecate(deprecated_in='2.0', removed_in='4.0', replaced_by=RTAPhase) class Pulse(_Pulse): """ Configure a pulse load. @@ -4334,7 +4334,7 @@ class Pulse(_Pulse): """ -@deprecate('Replaced by :class:`lisa.wlgen.rta.RTAPhase` along with :class:`lisa.wlgen.rta.PeriodicWload` workload', deprecated_in='2.0', removed_in='3.0', replaced_by=RTAPhase) +@deprecate('Replaced by :class:`lisa.wlgen.rta.RTAPhase` along with :class:`lisa.wlgen.rta.PeriodicWload` workload', deprecated_in='2.0', removed_in='4.0', replaced_by=RTAPhase) class Periodic(_Pulse): """ Configure a periodic load. This is the simplest type of RTA task. @@ -4389,7 +4389,7 @@ class Periodic(_Pulse): ) -@deprecate('Replaced by :class:`lisa.wlgen.rta.RTAPhase` along with :class:`lisa.wlgen.rta.RunWload` and :class:`lisa.wlgen.rta.BarrierWload` workloads', deprecated_in='2.0', removed_in='3.0', replaced_by=RTAPhase) +@deprecate('Replaced by :class:`lisa.wlgen.rta.RTAPhase` along with :class:`lisa.wlgen.rta.RunWload` and :class:`lisa.wlgen.rta.BarrierWload` workloads', deprecated_in='2.0', removed_in='4.0', replaced_by=RTAPhase) class RunAndSync(_RTATask): """ Configure a task that runs 100% then waits on a barrier diff --git a/lisa/wlgen/workload.py b/lisa/wlgen/workload.py index ed3c42017..38c596ad2 100644 --- a/lisa/wlgen/workload.py +++ b/lisa/wlgen/workload.py @@ -383,7 +383,7 @@ class Workload(_WorkloadBase, PartialInit, Loggable): shutil.rmtree(self.res_dir) @property - @deprecate('Processed output is returned by run() or by the ".output" attribute of the value returned by the run_background() context manager', deprecated_in='2.0', removed_in='3.0') + @deprecate('Processed output is returned by run() or by the ".output" attribute of the value returned by the run_background() context manager', deprecated_in='2.0', removed_in='4.0') def output(self): return self._output -- GitLab From 8461c333c7654e5482f4b6ca916b9a060941a6f2 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Fri, 1 Apr 2022 14:05:23 +0100 Subject: [PATCH 3/3] lisa.version: Bump version to 3.0.0 --- lisa/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisa/version.py b/lisa/version.py index d31ec8732..855bbf499 100644 --- a/lisa/version.py +++ b/lisa/version.py @@ -21,7 +21,7 @@ from subprocess import CalledProcessError from lisa._git import get_sha1, get_uncommited_patch -version_tuple = (2, 0, 0) +version_tuple = (3, 0, 0) def format_version(version): return '.'.join(str(part) for part in version) -- GitLab