Skip to content

Instantly share code, notes, and snippets.

@Leo-Yan
Created September 27, 2021 02:29
Show Gist options
  • Save Leo-Yan/c1e33b0c399762dcbbe943fc632fbad5 to your computer and use it in GitHub Desktop.
Save Leo-Yan/c1e33b0c399762dcbbe943fc632fbad5 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Typical LISA experiment"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook shows a typical LISA-use case:\n",
"\n",
"* Connecting to a target\n",
"* Configuring an rt-app workload\n",
"* Collecting a trace while executing a workload\n",
"* Displaying the trace\n",
"* Analysing the trace\n",
"\n",
"It can serve as a template for different kind of experiments, - you could only change the workload to execute & the trace events to collect"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2021-09-25 22:00:18,077 INFO : root : Using LISA logging configuration: /home/leoy/Work2/Develop/tools/lisa/logging.conf\n"
]
}
],
"source": [
"import logging\n",
"from lisa.utils import setup_logging\n",
"setup_logging(filepath='logging.conf')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Target configuration"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from lisa.target import Target, TargetConf"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2021-09-25 22:00:25,081 INFO : lisa.energy_model.EnergyModel.from_target : Attempting to load EM using LinuxEnergyModel\n",
"2021-09-25 22:00:28,131 INFO : sched : Scheduler sched_domain procfs entries found\n",
"2021-09-25 22:00:28,134 INFO : sched : Detected kernel compiled with SCHED_DEBUG=y\n",
"2021-09-25 22:00:28,136 INFO : sched : CPU capacity sysfs entries found\n"
]
}
],
"source": [
"target = Target.from_default_conf()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setting up an rt-app workload"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"rt-app is very convenient for scheduler experiments, and the majority of the tests within LISA rely on it. Here we're going to create a somewhat useless workload just to show off the API.\n",
"\n",
"Relevant documentation:\n",
"\n",
"* **rt-app**: https://github.com/scheduler-tools/rt-app\n",
"* **rt-app LISA class**: https://lisa-linux-integrated-system-analysis.readthedocs.io/en/master/workloads.html#lisa.wlgen.rta.RTA\n",
"* **RTAPhase class**: https://lisa-linux-integrated-system-analysis.readthedocs.io/en/master/workloads.html#lisa.wlgen.rta.RTAPhase\n",
"* **PeriodicWload class**: https://lisa-linux-integrated-system-analysis.readthedocs.io/en/master/workloads.html#lisa.wlgen.rta.PeriodicWload"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from lisa.wlgen.rta import RTA, RTAPhase, PeriodicWload, DutyCycleSweepPhase"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"rtapp_profile = {\n",
" **{\n",
" f'tsk{cpu}_{i}': RTAPhase(\n",
" prop_wload=PeriodicWload(\n",
" duty_cycle_pct=20,\n",
" period=16e-3,\n",
" duration=1,\n",
" )\n",
" )\n",
" for cpu in range(target.number_of_cpus)\n",
" for i in range(3)\n",
" },\n",
" **{\n",
" f'tsk_ru': DutyCycleSweepPhase(\n",
" start=5,\n",
" stop=20,\n",
" step=5,\n",
" duration=1,\n",
" duration_of='step',\n",
" period=16e-3,\n",
" )\n",
" }\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"rt-app needs some calibration information (20% duty cycle isn't the same amount of work on all platforms!). It can be manually specified like so:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"def provide_calibration(calibration):\n",
" target.plat_info[\"rtapp\"].add_src(\"user\", {\"calib\" : calibration})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"However, it is automatically collected when first creating an rt-app workload if it is not specified, so you can forego the above step and let the calibration happen on-demand:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"wload = RTA.from_profile(target, rtapp_profile, name='experiment_workload')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare the energy meter"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"import devlib\n",
"from devlib.instrument.arm_energy_probe import ArmEnergyProbeInstrument\n",
"from devlib import DerivedEnergyMeasurements"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Arm energy probe config file for Hikey960:\n",
"\n",
"```\n",
"# arm-probe configuration file\n",
"#\n",
"# setup name\n",
"Hikey960\n",
"\n",
"# <device path>\n",
"/dev/serial/by-id/usb-NXP_SEMICOND_ARM_Energy_Probe_S_NO00000000-if00\n",
" DCIN\t0.082000\t1\t-0.015796\t0.129143\t-0.001024\t0.000970\t0\tMain\tVBAT\t#ff0000\tSoC\n",
" VDD\t0.033000\t2\t-0.114682\t0.049773\t-0.000439\t0.001129\t0\tVDD_4V2\tDCIN\t#ff0000\tSoC\n",
" SYS\t0.100000\t3\t-0.155547\t0.177045\t-0.000242\t0.000600\t0\tSYS_5V\tDCIN\t#ff0000\tSoC\n",
" ```"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"aep = ArmEnergyProbeInstrument(target, '/tmp/config-aep-hikey960')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"aep.reset()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare Ftrace tracepoints"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from lisa.trace import FtraceCollector"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We need to specify the trace events we want to record. We could list what's available like so:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['task:task_newtask', 'task:task_rename', 'sched:sched_kthread_stop', 'sched:sched_kthread_stop_ret', 'sched:sched_waking', 'sched:sched_wakeup', 'sched:sched_wakeup_new', 'sched:sched_switch', 'sched:sched_migrate_task', 'sched:sched_process_free', 'sched:sched_process_exit', 'sched:sched_wait_task', 'sched:sched_process_wait', 'sched:sched_process_fork', 'sched:sched_process_exec', 'sched:sched_stat_wait', 'sched:sched_stat_sleep', 'sched:sched_stat_iowait', 'sched:sched_stat_blocked', 'sched:sched_blocked_reason', 'sched:sched_stat_runtime', 'sched:sched_pi_setprio', 'sched:sched_move_numa', 'sched:sched_stick_numa', 'sched:sched_swap_numa', 'sched:sched_wake_idle_without_ipi', 'sched:sched_pelt_cfs', 'sched:sched_pelt_rt', 'sched:sched_pelt_dl', 'sched:sched_pelt_irq', 'sched:sched_pelt_se', 'sched:sched_overutilized', 'sched:sched_update_nr_running', 'sched:sched_util_est_se', 'sched:sched_util_est_cfs', 'sched:uclamp_util_se', 'sched:uclamp_util_cfs', 'sched:sched_cpu_capacity']\n"
]
}
],
"source": [
"available_events = target.execute(\"cat /sys/kernel/debug/tracing/available_events\").splitlines()\n",
"\n",
"# That's gonna be a pretty big list, let's focus on the scheduler events\n",
"sched_events = [\n",
" event\n",
" for event in available_events\n",
" if (\n",
" event.startswith(\"sched:\") or\n",
" event.startswith(\"task:\")\n",
" )\n",
"]\n",
"print(sched_events)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's just collect the base events required to plot task scheduling:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"events = [\n",
" 'sched_switch',\n",
" 'sched_wakeup',\n",
" 'sched_wakeup_new',\n",
" 'task_rename',\n",
" 'sched_update_nr_running',\n",
" 'sched_pelt_cfs',\n",
" 'sched_pelt_se',\n",
" 'cpu_frequency',\n",
" 'sched_overutilized',\n",
" 'sched_migrate_task'\n",
"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And now we can actually record traces while running our workload:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"trace_path = os.path.join(wload.res_dir, \"trace.dat\")\n",
"ftrace_coll = FtraceCollector(target, events=events, buffer_size=10240, output_path=trace_path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Running the workload"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2021-09-25 22:00:48,258 INFO : lisa.wlgen.rta.RTA : Created workload's run target directory: /data/local/tmp/devlib-target/lisa/wlgen/20210925_220029_ffba09a0937d4242ad125c48a08f416a\n",
"2021-09-25 22:00:48,634 WARNING : lisa.wlgen.rta.RTA : CPU capacities will not be updated on this platform\n",
"2021-09-25 22:00:48,715 INFO : lisa.wlgen.rta.RTA : CPU capacities according to rt-app workload: {0: 462, 1: 462, 2: 462, 3: 462, 4: 1024, 5: 1024, 6: 1024, 7: 1024}\n",
"2021-09-25 22:00:57,761 INFO : lisa.wlgen.rta.RTA : Execution start: rt-app /data/local/tmp/devlib-target/lisa/wlgen/20210925_220029_ffba09a0937d4242ad125c48a08f416a/experiment_workload.json 2>&1\n",
"2021-09-25 22:01:06,617 INFO : lisa.wlgen.rta.RTA : Wiping target run directory: /data/local/tmp/devlib-target/lisa/wlgen/20210925_220029_ffba09a0937d4242ad125c48a08f416a\n"
]
}
],
"source": [
"# Start energy measurement\n",
"aep.start()\n",
"\n",
"with wload, ftrace_coll:\n",
" wload.run()\n",
" \n",
"# Stop energy measurement\n",
"aep.stop()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Output the energy result"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"DCIN_total_energy\n",
"426.33916062012116\n",
"SYS_total_energy\n",
"0.03313607321000001\n",
"VDD_total_energy\n",
"26.671370196030512\n",
"DCIN_average_power\n",
"22.9342851870115\n",
"SYS_average_power\n",
"0.0017826054051437107\n",
"VDD_average_power\n",
"1.4347503275953284\n"
]
}
],
"source": [
"measurement = aep.get_data('/tmp/energy_raw.txt')\n",
"derived_measurements = DerivedEnergyMeasurements.process(measurement)\n",
"for meas in derived_measurements:\n",
" print(meas.name)\n",
" print(meas.value)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Loading up the trace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We have a Trace class that lets us easily access trace events. It can also do some post-processing to provide different kinds of analysis."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"from lisa.trace import Trace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can pass the platform info directly from the **Target**:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"trace = Trace(trace_path, target.plat_info, events=events)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/leoy/Work2/Develop/tools/lisa/results/Target-hikey960-20210925_220020.359338/RTA-experiment_workload-20210925_220029.823086/trace.dat'"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trace_path"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Looking at the trace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Kernelshark can be opened from the notebook:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<os._wrap_close at 0x7f6aa97358e0>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trace.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analysing the trace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Relevant documentation: https://lisa-linux-integrated-system-analysis.readthedocs.io/en/master/trace_analysis.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Reading trace events"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [],
"source": [
"df = trace.df_event(\"sched_overutilized\")"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>__comm</th>\n",
" <th>__pid</th>\n",
" <th>__cpu</th>\n",
" <th>span</th>\n",
" <th>overutilized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>9893.916168</th>\n",
" <td>trace-cmd</td>\n",
" <td>4948</td>\n",
" <td>1</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9893.919544</th>\n",
" <td>rcu_preempt</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9893.921548</th>\n",
" <td>sh</td>\n",
" <td>4946</td>\n",
" <td>7</td>\n",
" <td>255</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9893.923157</th>\n",
" <td>kworker/7:1</td>\n",
" <td>52</td>\n",
" <td>7</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9893.925815</th>\n",
" <td>adbd</td>\n",
" <td>1904</td>\n",
" <td>3</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9898.661268</th>\n",
" <td>sh</td>\n",
" <td>5026</td>\n",
" <td>7</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9898.663760</th>\n",
" <td>rcu_preempt</td>\n",
" <td>11</td>\n",
" <td>2</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9898.675339</th>\n",
" <td>rcu_preempt</td>\n",
" <td>11</td>\n",
" <td>2</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9898.678074</th>\n",
" <td>sugov:4</td>\n",
" <td>200</td>\n",
" <td>4</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9898.679020</th>\n",
" <td>sh</td>\n",
" <td>5028</td>\n",
" <td>7</td>\n",
" <td>255</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1574 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" __comm __pid __cpu span overutilized\n",
"Time \n",
"9893.916168 trace-cmd 4948 1 255 False\n",
"9893.919544 rcu_preempt 11 1 255 False\n",
"9893.921548 sh 4946 7 255 True\n",
"9893.923157 kworker/7:1 52 7 255 False\n",
"9893.925815 adbd 1904 3 255 False\n",
"... ... ... ... ... ...\n",
"9898.661268 sh 5026 7 255 False\n",
"9898.663760 rcu_preempt 11 2 255 False\n",
"9898.675339 rcu_preempt 11 2 255 False\n",
"9898.678074 sugov:4 200 4 255 False\n",
"9898.679020 sh 5028 7 255 False\n",
"\n",
"[1574 rows x 5 columns]"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The standard DataFrame operations are available, so you can filter/slice it however you wish:"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>__comm</th>\n",
" <th>__pid</th>\n",
" <th>__cpu</th>\n",
" <th>path</th>\n",
" <th>rbl_load</th>\n",
" <th>util</th>\n",
" <th>update_time</th>\n",
" <th>load</th>\n",
" <th>cpu</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5462.577371</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>1</td>\n",
" <td>/</td>\n",
" <td>25</td>\n",
" <td>347</td>\n",
" <td>5455396322304</td>\n",
" <td>68</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5462.590715</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>1</td>\n",
" <td>/system</td>\n",
" <td>914</td>\n",
" <td>70</td>\n",
" <td>5455405534208</td>\n",
" <td>913</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5462.602942</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>1</td>\n",
" <td>/system</td>\n",
" <td>1713</td>\n",
" <td>242</td>\n",
" <td>5455416195072</td>\n",
" <td>1713</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5462.602945</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>1</td>\n",
" <td>/</td>\n",
" <td>85</td>\n",
" <td>357</td>\n",
" <td>5455416195072</td>\n",
" <td>98</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5462.602946</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>1</td>\n",
" <td>/</td>\n",
" <td>70</td>\n",
" <td>247</td>\n",
" <td>5455416195072</td>\n",
" <td>81</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5463.496767</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>6</td>\n",
" <td>/</td>\n",
" <td>260</td>\n",
" <td>609</td>\n",
" <td>5462075510784</td>\n",
" <td>260</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5463.496768</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>6</td>\n",
" <td>/system</td>\n",
" <td>231</td>\n",
" <td>554</td>\n",
" <td>5462075510784</td>\n",
" <td>938</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5463.496769</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>6</td>\n",
" <td>/</td>\n",
" <td>152</td>\n",
" <td>554</td>\n",
" <td>5462075510784</td>\n",
" <td>165</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5463.496771</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>6</td>\n",
" <td>/system</td>\n",
" <td>0</td>\n",
" <td>663</td>\n",
" <td>5461410040832</td>\n",
" <td>995</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5463.496771</th>\n",
" <td>tsk1_2-5</td>\n",
" <td>4742</td>\n",
" <td>6</td>\n",
" <td>/</td>\n",
" <td>0</td>\n",
" <td>663</td>\n",
" <td>5461410040832</td>\n",
" <td>96</td>\n",
" <td>6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>263 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" __comm __pid __cpu path rbl_load util update_time \\\n",
"Time \n",
"5462.577371 tsk1_2-5 4742 1 / 25 347 5455396322304 \n",
"5462.590715 tsk1_2-5 4742 1 /system 914 70 5455405534208 \n",
"5462.602942 tsk1_2-5 4742 1 /system 1713 242 5455416195072 \n",
"5462.602945 tsk1_2-5 4742 1 / 85 357 5455416195072 \n",
"5462.602946 tsk1_2-5 4742 1 / 70 247 5455416195072 \n",
"... ... ... ... ... ... ... ... \n",
"5463.496767 tsk1_2-5 4742 6 / 260 609 5462075510784 \n",
"5463.496768 tsk1_2-5 4742 6 /system 231 554 5462075510784 \n",
"5463.496769 tsk1_2-5 4742 6 / 152 554 5462075510784 \n",
"5463.496771 tsk1_2-5 4742 6 /system 0 663 5461410040832 \n",
"5463.496771 tsk1_2-5 4742 6 / 0 663 5461410040832 \n",
"\n",
" load cpu \n",
"Time \n",
"5462.577371 68 1 \n",
"5462.590715 913 1 \n",
"5462.602942 1713 1 \n",
"5462.602945 98 1 \n",
"5462.602946 81 1 \n",
"... ... ... \n",
"5463.496767 260 4 \n",
"5463.496768 938 4 \n",
"5463.496769 165 4 \n",
"5463.496771 995 6 \n",
"5463.496771 96 6 \n",
"\n",
"[263 rows x 9 columns]"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df.__comm == \"tsk1_2-5\"][5462.5:5463.5]"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"from lisa._doc.helpers import get_analysis_list"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"* :class:`cpus<lisa.analysis.cpus.CpusAnalysis>`::meth:`~lisa.analysis.cpus.CpusAnalysis.plot_context_switches`\n",
"* :class:`cpus<lisa.analysis.cpus.CpusAnalysis>`::meth:`~lisa.analysis.cpus.CpusAnalysis.plot_orig_capacity`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_cpu_frequencies`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_cpu_frequency_residency`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_cpu_frequency_transitions`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_domain_frequencies`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_domain_frequency_residency`\n",
"* :class:`frequency<lisa.analysis.frequency.FrequencyAnalysis>`::meth:`~lisa.analysis.frequency.FrequencyAnalysis.plot_domain_frequency_transitions`\n",
"* :class:`functions_json<lisa.analysis.functions.JSONStatsFunctionsAnalysis>`::meth:`~lisa.analysis.functions.JSONStatsFunctionsAnalysis.plot_profiling_stats`\n",
"* :class:`idle<lisa.analysis.idle.IdleAnalysis>`::meth:`~lisa.analysis.idle.IdleAnalysis.plot_cluster_idle_state_residency`\n",
"* :class:`idle<lisa.analysis.idle.IdleAnalysis>`::meth:`~lisa.analysis.idle.IdleAnalysis.plot_clusters_idle_state_residency`\n",
"* :class:`idle<lisa.analysis.idle.IdleAnalysis>`::meth:`~lisa.analysis.idle.IdleAnalysis.plot_cpu_idle_state_residency`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_activations`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_latencies_cdf`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_latencies_histogram`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_latencies`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_latency_bands`\n",
"* :class:`latency<lisa.analysis.latency.LatencyAnalysis>`::meth:`~lisa.analysis.latency.LatencyAnalysis.plot_runtimes`\n",
"* :class:`load_tracking<lisa.analysis.load_tracking.LoadTrackingAnalysis>`::meth:`~lisa.analysis.load_tracking.LoadTrackingAnalysis.plot_cpus_signals`\n",
"* :class:`load_tracking<lisa.analysis.load_tracking.LoadTrackingAnalysis>`::meth:`~lisa.analysis.load_tracking.LoadTrackingAnalysis.plot_task_placement`\n",
"* :class:`load_tracking<lisa.analysis.load_tracking.LoadTrackingAnalysis>`::meth:`~lisa.analysis.load_tracking.LoadTrackingAnalysis.plot_task_required_capacity`\n",
"* :class:`load_tracking<lisa.analysis.load_tracking.LoadTrackingAnalysis>`::meth:`~lisa.analysis.load_tracking.LoadTrackingAnalysis.plot_task_signals`\n",
"* :class:`notebook<lisa.analysis.notebook.NotebookAnalysis>`::meth:`~lisa.analysis.notebook.NotebookAnalysis.plot_event_field`\n",
"* :class:`rta<lisa.analysis.rta.RTAEventsAnalysis>`::meth:`~lisa.analysis.rta.RTAEventsAnalysis.plot_latency`\n",
"* :class:`rta<lisa.analysis.rta.RTAEventsAnalysis>`::meth:`~lisa.analysis.rta.RTAEventsAnalysis.plot_perf_index_histogram`\n",
"* :class:`rta<lisa.analysis.rta.RTAEventsAnalysis>`::meth:`~lisa.analysis.rta.RTAEventsAnalysis.plot_perf`\n",
"* :class:`rta<lisa.analysis.rta.RTAEventsAnalysis>`::meth:`~lisa.analysis.rta.RTAEventsAnalysis.plot_phases`\n",
"* :class:`rta<lisa.analysis.rta.RTAEventsAnalysis>`::meth:`~lisa.analysis.rta.RTAEventsAnalysis.plot_slack_histogram`\n",
"* :class:`status<lisa.analysis.status.StatusAnalysis>`::meth:`~lisa.analysis.status.StatusAnalysis.plot_overutilized`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_task_activation`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_task_residency`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_task_total_residency`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_activation`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_forks_heatmap`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_forks`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_total_residency`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_wakeups_heatmap`\n",
"* :class:`tasks<lisa.analysis.tasks.TasksAnalysis>`::meth:`~lisa.analysis.tasks.TasksAnalysis.plot_tasks_wakeups`\n",
"* :class:`thermal<lisa.analysis.thermal.ThermalAnalysis>`::meth:`~lisa.analysis.thermal.ThermalAnalysis.plot_cpu_cooling_states`\n",
"* :class:`thermal<lisa.analysis.thermal.ThermalAnalysis>`::meth:`~lisa.analysis.thermal.ThermalAnalysis.plot_dev_freq_cooling_states`\n",
"* :class:`thermal<lisa.analysis.thermal.ThermalAnalysis>`::meth:`~lisa.analysis.thermal.ThermalAnalysis.plot_thermal_zone_temperature`\n"
]
}
],
"source": [
"print(get_analysis_list(\"plot\"))"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"from lisa.notebook import plot_signal, _hv_neutral"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
"fig = plot_signal(df[df.__comm == \"tsk1_2-5\"][5462.5:5463.5]['util'], name=f'Task util')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import holoviews as hv"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"fig *= plot_signal(df[df.__comm == \"tsk1_3-6\"][5462.5:5463.5]['util'], name=f'Task util')"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "negative dimensions are not allowed",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/IPython/core/formatters.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, obj, include, exclude)\u001b[0m\n\u001b[1;32m 968\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 969\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 970\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minclude\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minclude\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mexclude\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mexclude\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 971\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 972\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/dimension.py\u001b[0m in \u001b[0;36m_repr_mimebundle_\u001b[0;34m(self, include, exclude)\u001b[0m\n\u001b[1;32m 1315\u001b[0m \u001b[0mcombined\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mreturned\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1316\u001b[0m \"\"\"\n\u001b[0;32m-> 1317\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mStore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrender\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1318\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1319\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/options.py\u001b[0m in \u001b[0;36mrender\u001b[0;34m(cls, obj)\u001b[0m\n\u001b[1;32m 1403\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1404\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mhook\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mhooks\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1405\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1406\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mret\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1407\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/ipython/display_hooks.py\u001b[0m in \u001b[0;36mpprint_display\u001b[0;34m(obj)\u001b[0m\n\u001b[1;32m 280\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mip\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay_formatter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformatters\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'text/plain'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpprint\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 281\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 282\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mraw_output\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 283\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 284\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/ipython/display_hooks.py\u001b[0m in \u001b[0;36mdisplay\u001b[0;34m(obj, raw_output, **kwargs)\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mCompositeOverlay\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mViewableElement\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 251\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0moption_state\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 252\u001b[0;31m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0melement_display\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 253\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mLayout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNdLayout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAdjointLayout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 254\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0moption_state\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/ipython/display_hooks.py\u001b[0m in \u001b[0;36mwrapped\u001b[0;34m(element)\u001b[0m\n\u001b[1;32m 144\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 145\u001b[0m \u001b[0mmax_frames\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mOutputSettings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'max_frames'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 146\u001b[0;31m \u001b[0mmimebundle\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_frames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmax_frames\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 147\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmimebundle\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/ipython/display_hooks.py\u001b[0m in \u001b[0;36melement_display\u001b[0;34m(element, max_frames)\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 192\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mrender\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 193\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/ipython/display_hooks.py\u001b[0m in \u001b[0;36mrender\u001b[0;34m(obj, **kwargs)\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0mrenderer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 68\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomponents\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/renderer.py\u001b[0m in \u001b[0;36mcomponents\u001b[0;34m(self, obj, fmt, comm, **kwargs)\u001b[0m\n\u001b[1;32m 386\u001b[0m \u001b[0mplot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 387\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 388\u001b[0;31m \u001b[0mplot\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfmt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 389\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 390\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/renderer.py\u001b[0m in \u001b[0;36m_validate\u001b[0;34m(self, obj, fmt, **kwargs)\u001b[0m\n\u001b[1;32m 312\u001b[0m renderer=self)\n\u001b[1;32m 313\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 314\u001b[0;31m \u001b[0mplot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 315\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 316\u001b[0m \u001b[0mall_formats\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig_formats\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mholomap_formats\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/renderer.py\u001b[0m in \u001b[0;36mget_plot\u001b[0;34m(self_or_cls, obj, doc, renderer, comm, **kwargs)\u001b[0m\n\u001b[1;32m 241\u001b[0m init_key = tuple(v if d is None else d for v, d in\n\u001b[1;32m 242\u001b[0m zip(plot.keys[0], defaults))\n\u001b[0;32m--> 243\u001b[0;31m \u001b[0mplot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minit_key\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 244\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 245\u001b[0m \u001b[0mplot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/plot.py\u001b[0m in \u001b[0;36mupdate\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdrawn\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 251\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minitialize_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 252\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/plot.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0m_rc_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfig_rcparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 47\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 48\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/element.py\u001b[0m in \u001b[0;36minitialize_plot\u001b[0;34m(self, ranges)\u001b[0m\n\u001b[1;32m 1121\u001b[0m \u001b[0mranges\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompute_ranges\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhmap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1122\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubplot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1123\u001b[0;31m \u001b[0msubplot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minitialize_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mranges\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1124\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCompositeOverlay\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1125\u001b[0m \u001b[0mframe\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/plot.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0m_rc_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfig_rcparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 47\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 48\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/element.py\u001b[0m in \u001b[0;36minitialize_plot\u001b[0;34m(self, ranges)\u001b[0m\n\u001b[1;32m 512\u001b[0m \u001b[0mstyle\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'label'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 513\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 514\u001b[0;31m \u001b[0mplot_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mplot_kwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis_kwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstyle\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 515\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 516\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mabbreviated_exception\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/chart.py\u001b[0m in \u001b[0;36mget_data\u001b[0;34m(self, element, ranges, style)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'steps'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minterpolation\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m \u001b[0melement\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minterpolate_curve\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minterpolation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minterpolation\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 82\u001b[0m \u001b[0mxs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdimension_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0mys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdimension_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/param/parameterized.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(class_, *args, **params)\u001b[0m\n\u001b[1;32m 3098\u001b[0m \u001b[0minst\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclass_\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3099\u001b[0m \u001b[0minst\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_set_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclass_\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3100\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0minst\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3101\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3102\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/operation.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, element, **kwargs)\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'link_dataset'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_propagate_dataset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'link_inputs'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlink_inputs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 220\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 221\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/accessors.py\u001b[0m in \u001b[0;36mpipelined_call\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 45\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 46\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0min_method\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/accessors.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, apply_function, streams, link_inputs, link_dataset, dynamic, per_element, **kwargs)\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mapply_function\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'dynamic'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 203\u001b[0m \u001b[0minner_kwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'dynamic'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 204\u001b[0;31m \u001b[0mnew_obj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mapply_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0minner_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 205\u001b[0m if (link_dataset and isinstance(self._obj, Dataset) and\n\u001b[1;32m 206\u001b[0m isinstance(new_obj, Dataset) and new_obj._dataset is None):\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/operation.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, element, **kwargs)\u001b[0m\n\u001b[1;32m 212\u001b[0m elif ((self._per_element and isinstance(element, Element)) or\n\u001b[1;32m 213\u001b[0m (not self._per_element and isinstance(element, ViewableElement))):\n\u001b[0;32m--> 214\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 215\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0;34m'streams'\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 216\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'streams'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstreams\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/operation.py\u001b[0m in \u001b[0;36m_apply\u001b[0;34m(self, element, key)\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0min_method\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 140\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_in_method\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 141\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_process\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 142\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'_in_method'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0min_method\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 143\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_in_method\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0min_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/operation/element.py\u001b[0m in \u001b[0;36m_process\u001b[0;34m(self, element, key)\u001b[0m\n\u001b[1;32m 975\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 976\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_process\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 977\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_process_layer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mElement\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 978\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 979\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/data/__init__.py\u001b[0m in \u001b[0;36mpipelined_fn\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 203\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 204\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 205\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmethod_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 206\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mPipelineMeta\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisable\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 207\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/data/__init__.py\u001b[0m in \u001b[0;36mmap\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1220\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1221\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1222\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mDataset\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1223\u001b[0m \u001b[0mmap\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mLabelledData\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1224\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/core/dimension.py\u001b[0m in \u001b[0;36mmap\u001b[0;34m(self, map_fn, specs, clone)\u001b[0m\n\u001b[1;32m 708\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdeep_mapped\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 709\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 710\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmap_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mapplies\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 711\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 712\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/operation/element.py\u001b[0m in \u001b[0;36m_process_layer\u001b[0;34m(self, element, key)\u001b[0m\n\u001b[1;32m 969\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 970\u001b[0m \u001b[0mdvals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdimension_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0md\u001b[0m \u001b[0;32min\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdimensions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 971\u001b[0;31m \u001b[0mxs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdvals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mINTERPOLATE_FUNCS\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minterpolation\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdvals\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 972\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_datetime\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 973\u001b[0m \u001b[0mxs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mxs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/operation/element.py\u001b[0m in \u001b[0;36mpts_to_poststep\u001b[0;34m(cls, x, values)\u001b[0m\n\u001b[1;32m 943\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mclassmethod\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 944\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpts_to_poststep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 945\u001b[0;31m \u001b[0msteps\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 946\u001b[0m \u001b[0mvalue_steps\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mempty\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 947\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: negative dimensions are not allowed"
]
},
{
"data": {
"text/plain": [
":Overlay\n",
" .Curve.Task_util :Curve [Time] (util)\n",
" .Marker.Task_util :Scatter [Time] (util)\n",
" .Curve.I :Curve [Time] (util)\n",
" .Marker.I :Scatter [Time] (util)"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using the trace analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Example dataframes\n",
"\n",
"LISA ships a number of namespaced trace analysis methods. They can all be called on a trace with `trace.ana.<analysis name>.<method name>()`.\n",
"They fall mostly into two categories:\n",
" * Method starting with `df_`: returns a pandas DataFrame\n",
" * Method starting with `plot_`: returns a holoviews element ready to be displayed"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `trace.ana` object can be used to set default values to analysis methods. Simply calling it with keyword arguments will set default values, which can later be overridden when the method is called if necessary. \n",
"\n",
"This avoids repetition of fixed parameters such as `ŧask`, `tasks`, `cpu` etc. Just be careful as some methods might take more parameters than you expect: some task-related methods also accept a `cpu` parameter to restrict to a given CPU, so it might be a good idea to have a proxy object for all CPU-related calls and another one for task-related calls."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"ana = trace.ana(task='tsk4_1-13')\n",
"\n",
"df = ana.tasks.df_task_states(stringify=True)\n",
"\n",
"# Default values can be overridden by calling it again\n",
"ana2 = ana(task='trace-cmd')\n",
"# And overridden again when calling the method\n",
"df = ana2.tasks.df_task_states(task='tsk4_1-13', stringify=True)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"from lisa.analysis.tasks import TaskState"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>target_cpu</th>\n",
" <th>cpu</th>\n",
" <th>curr_state</th>\n",
" <th>next_state</th>\n",
" <th>delta</th>\n",
" <th>curr_state_str</th>\n",
" <th>next_state_str</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [target_cpu, cpu, curr_state, next_state, delta, curr_state_str, next_state_str]\n",
"Index: []"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df.curr_state == TaskState.TASK_ACTIVE][5462.3:5462.4]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Example plots"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1AAAAEGCAYAAABrU3TyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAlUElEQVR4nO3de1yVVb7H8e8W2EwKgXhJFISQHG4iJuatTJuTmhrHW45lZifNJj2vbtOUp06Tp5lpbCobtWaU8uQxzdSaCTXhZCR2mRxDJfOWaIkIRqJp4o0NrPNHL/aRuD0qz95b/LxfL18v936eZ60feyHxba1nPQ5jjBEAAAAAoFEtvF0AAAAAAFwqCFAAAAAAYBEBCgAAAAAsIkABAAAAgEUEKAAAAACwiAAFAAAAABYRoAAAbkuXLtXgwYPrPT5w4EC99tprHqzowp0+fVq33nqrQkJCdNttt9naV3R0tD744INLpl0AwIUjQAGATd58802lpqYqKChI4eHhuuWWW/TJJ59IkmbOnKmAgAAFBQUpNDRU/fr102effeY+duedd9Zqz+FwaO/evbbWPGHCBL3//vu29uEpb7/9tkpKSnTkyBGtXLmy1vH6Pme7eWIcL8bZs2c1efJkRUVFKTg4WCkpKcrMzKzz3GeeeUYOh4OQB+CyQoACABvMnj1bDz30kJ544gmVlJTowIEDmjZtmjIyMtzn/PKXv1RZWZkOHz6s66+/XqNHj1ZTPNu8oqLiottoDgoKCtS1a1f5+/t7uxSvuZDvhYqKCkVGRmrDhg06fvy4fv/732vcuHHav39/jfP27dunlStXKjw8vImqBYBLAwEKAJrY8ePH9dvf/lavvPKKRo8erVatWikgIEC33nqrnn/++VrnBwQEaNKkSfr222915MiRC+ozOjpazz33nJKTk9WqVStVVFRo48aN6tevn0JDQ9W9e3fl5OS4z1+0aJFiYmIUHBysq6++WkuXLnW/f/3117vPW7duneLi4hQSEqJ///d/rxXw/vu//1vx8fFq3bq1hgwZooKCAvcxh8Oh+fPn65prrlFoaKimT59e4/pXX31V8fHxCg4OVkJCgrZs2aLnn39eY8aMqdHHAw88oAcffLDOr3vXrl0aOHCgQkNDlZiYqFWrVkmSnn76aT3zzDNavny5goKCtHDhwhrXZWVl6dlnn3Uf7969uyTp9ddfd9cUExOjBQsWuK8pLS3ViBEjFBoaqrCwMN1www2qqqqqs6arr75ay5Ytq3VswIABkqTu3bsrKChIy5cvb5J2z1XX98JPZ73uvvtu/ed//med17dq1UozZ85UdHS0WrRooREjRujqq6/W5s2ba5w3ffp0Pffcc3I6nQ3WAwDNjgEANKnMzEzj5+dnXC5Xvec8/fTTZsKECcYYY86cOWMeffRRExkZWevYuSSZ/Pz8OtuLiooy3bt3NwcOHDCnTp0yBw8eNGFhYea9994zlZWV5v333zdhYWHmu+++M2VlZSY4ONjs3r3bGGNMcXGx2b59uzHGmNdff93079/fGGPM4cOHTVBQkFm5cqUpLy83s2fPNn5+fubVV181xhjz7rvvmi5dupidO3cal8tlfve735m+ffvWqHf48OHm+++/NwUFBaZt27YmMzPTGGPMihUrTMeOHc2mTZtMVVWVyc/PN/v37zfFxcWmZcuW5vvvvzfGGONyuUy7du1Mbm5ura+5vLzcdOnSxfzhD38wZ8+eNdnZ2SYoKMj9ddX3OdY1BtXWrFlj9u7da6qqqkxOTo654oorzObNm40xxsyYMcPcd999pry83JSXl5uPPvrIVFVVuT//devWmc2bN5vIyEizevXqevv96Tg2VbvVfvq9UFefkyZNMk8++WSjbRljzLfffmsCAwPNrl273O+tWLHCpKWl1agRAC4XzEABQBM7cuSI2rZt2+jSsRUrVig0NFSRkZHavHmz/v73v19Uvw888IAiIyN1xRVXaMmSJRo2bJiGDRumFi1a6Oabb1ZqaqrWrl0rSWrRooW2b9+u06dPKzw8XImJibXaW7t2rRITEzV27FgFBATooYceUocOHdzH58+fr//4j/9QfHy8/P399cQTTygvL6/GLNSMGTMUGhqqzp07a9CgQcrLy5Mkvfbaa3rsscfUq1cvORwOxcbGKioqSuHh4RowYID7nqWsrCy1bdtWPXv2rFXfxo0bVVZWphkzZsjpdOqmm27SiBEjGp2hacjw4cPVpUsXORwO3XjjjRo8eLA+/vhjST/OFB46dEgFBQUKCAjQDTfcIIfD4b72448/VlpamhYvXqwRI0ZY7tOOds/9XrgYLpdLEyZM0KRJkxQXFydJOnHihJ544gnNmTPnotoGgEsVAQoAmlibNm1UWlra6P0n48aN07Fjx/Tdd9/pww8/dIcEf39/uVyuGudWvw4ICKi3vcjISPffCwoKtHLlSoWGhrr/fPLJJzp06JBatWql5cuXa/78+QoPD9fw4cO1e/fuWu0VFxfXaNPhcNTq48EHH3S3HxYWJmOMioqK3OecG7hatmypsrIySVJhYaG6dOlS59cxadIkLVmyRJK0ZMkSTZw4sc7zqutr0eL//1MWFRVVo//zlZmZqT59+igsLEyhoaFau3atSktLJUm/+c1vFBsbq8GDBysmJkazZs2qce38+fPVr18/DRw48Lz6tKPdc8epMbfccouCgoIUFBTkXsopSVVVVZo4caKcTqdefvll9/szZ87UxIkTFR0dbbkPAGhOCFAA0MT69u2rwMBAvfvuuxd0fefOnWvdsP/NN9/I399fnTp1qve6c2ctIiMjNXHiRB07dsz95+TJk5oxY4YkaciQIVq3bp0OHTqkuLg43XvvvbXaCw8PV2Fhofu1MabG68jISC1YsKBGH6dPn1a/fv0a/RojIyO1b9++Oo+NHDlS27Zt0/bt27VmzRpNmDChzvM6duyowsLCGvcLHThwoMHP6Fznfl7Sj7vPjRkzRo8++qhKSkp07NgxDRs2zH3fVnBwsF588UV9/fXXWrVqlWbPnq3s7Gz39fPnz9eBAwf08MMPW+q/mh3t/vRra9mypU6dOuV+/e2337r/npmZqbKyMpWVlbk/a2OMJk+erJKSEr3zzjs1gnt2drbmzp2rDh06qEOHDiosLNS4ceP03HPPndfXDQCXKgIUADSxkJAQPfPMM5o+fbreffddnTp1Si6XS5mZmXrssccavX7o0KHavXu33njjDblcLh09elRPPPGExowZY3lHuTvvvFOrV6/W//7v/6qyslJnzpxRTk6ODh48qJKSEmVkZOjkyZMKDAxUUFBQjVmcasOHD9eOHTv0t7/9TRUVFZo7d26NX7x/9atf6Y9//KN27Ngh6cfNM+raLrwuU6ZM0QsvvKDNmzfLGKO9e/e6l/797Gc/09ixY3XHHXfouuuuU+fOnetso3fv3mrZsqX+9Kc/yeVyKScnR6tXr9b48eMt1XDVVVdp//797gBWXl6us2fPql27dvL391dmZmaNLd3XrFmjvXv3yhijkJAQ+fn51fjcgoODlZWVpY8++sgdVOvr9+uvv27ydhuSkpKiN998U5WVlcrKytKG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' style='max-width:100%; margin: auto; display: block; '/>"
],
"text/plain": [
":Bars [cpu] (runtime)"
]
},
"execution_count": 88,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {}
},
"output_type": "execute_result"
}
],
"source": [
"trace.ana.tasks.plot_task_total_residency(\"tsk_ru-24\")"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2YAAAEGCAYAAAAOvoaNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5xklEQVR4nO3deXxU1f3/8fdkIQQDYQlbFggQDGTBIBPCUgRRCIKN8hMBQYRChIeCiqgFioWorWJdilVUNlsXbBDqFxQrhoIoFBChRSAgBCVIAmUJS8hCkpnc3x8xYxKyM5NJmNfz8eDBvXPPPfdzztxM7ifn3jMmwzAMAQAAAACcxs3ZAQAAAACAqyMxAwAAAAAnIzEDAAAAACcjMQMAAAAAJyMxAwAAAAAnIzEDAAAAACcjMQMAAAAAJyMxAwDUqeeff17x8fF1esy33npLbdu2lY+PjzIyMhx2nISEBN1///0Oq78sk8mko0eP1tnxAACOQ2IGANeZ4OBg/etf/6rxfoMGDdLy5csdEFFpv/vd7+rkOMUKCgo0a9YsJSUlKSsrS61atSq1PTU1VSaTSRaLpc5ikqRJkybpb3/7m/72t79p0qRJTo2lJs6cOaP77rtP/v7+8vX1Vf/+/fXNN9+UW3by5MlXJY/BwcFKTU21tR8AUITEDABwXTt9+rSuXLmi8PBwZ4dS79QmAczKylJ0dLT27Nmj8+fPa+LEiRoxYoSysrJKldu2bZt++OEHe4UKANc9EjMAcBEXLlzQnXfeqdatW6tFixa68847lZaWJkmaN2+etm7dqhkzZsjHx0czZsyQJH3//fcaMmSIWrZsqdDQUH300Ue2+iZNmqTp06drxIgRatq0qWJiYkpdiCcnJ9v2bdu2rZ5//nlJV9/ut3PnTvXr10/NmzfXTTfdpC1btti2/e1vf1Pnzp3VtGlTderUSStXriy3bXl5eZo5c6b8/f3l7++vmTNnKi8vT0eOHFFoaKgkqXnz5ho8ePBV+95yyy227T4+PtqxY4d++OEHDR48WK1atZKfn5/Gjx+vixcv2vZ58cUXFRAQoKZNmyo0NFSbNm26qt6CggLdd999uueee5Sfn1/pe1NZLEePHtXAgQPl6+srPz8/jRkzptx9t23bpqCgoFL9Vx6TyaTFixera9eu6tq1a7mjdJWNnnbu3FmzZs1S+/bt5e7urqlTpyo/P1+HDx+2lbFYLHrkkUf0+uuvV6vdAABJBgDgutKxY0dj48aNV71+7tw5Y82aNUZ2draRmZlpjBo1yrjrrrts2wcOHGgsW7bMtp6VlWUEBgYa77zzjlFQUGD85z//MVq1amUkJycbhmEYEydONFq2bGl88803RkFBgTFu3DhjzJgxhmEYRmZmptGuXTvj5ZdfNnJzc43MzExj586dhmEYxoIFC4zx48cbhmEYaWlpRsuWLY3PPvvMsFqtRlJSktGyZUvjzJkzRlZWltG0aVPj+++/NwzDME6ePGkcOHCg3Db//ve/N2JiYozTp08bZ86cMfr27Ws8/fTThmEYxrFjxwxJRkFBQbn7lrc9JSXFSEpKMq5cuWKcOXPGGDBggPHYY48ZhmEY33//vREYGGikp6fb9j969GiptuXk5BjDhw83Jk6caFgslkrerapjGTt2rPGHP/zBsFqtRm5urrF161bbNklGSkqK8fnnnxuBgYHGN998U+UxJBm33367kZGRYeTk5JR7zLLnQmX++9//Gl5eXsbFixdtr/3pT38yHn300VIxAgAqx4gZALiIVq1a6Z577lGTJk3UtGlTzZs3T1999VWF5devX6/g4GD95je/kYeHh3r27Kl77rlHq1evtpUZOXKkevfuLQ8PD40fP1579+617duuXTs98cQTaty4sW1ErawPPvhAw4cP1/Dhw+Xm5qYhQ4bIbDbrn//8pyTJzc1NBw4cUG5urtq3b1/h7YgrV67U/Pnz1aZNG7Vu3VoLFizQ+++/X+u+CgkJ0ZAhQ+Tl5aXWrVtr1qxZtr5yd3dXXl6eDh48qIKCAgUHB6tLly62fTMzMzVs2DB16dJFf/3rX+Xu7l7rOCTJ09NTx48f18mTJ9W4cWP96le/KrV99erVmjZtmj7//HP17t27WnXOnTtXLVu2lLe39zXFlpmZqQkTJmjBggXy9fWVJJ04cUJLlizRs88+e011A4CrITEDABeRk5OjadOmqWPHjmrWrJluueUWXbx4UVartdzyx48f1zfffKPmzZvb/q1cuVL/+9//bGXatWtnW27SpIntOaMTJ06USlYqcvz4ca1evbrUMbZt26ZTp07phhtu0KpVq/T222+rffv2GjFihL7//vty6zl58qQ6duxoW+/YsaNOnjxZrX4pz+nTpzV27FgFBASoWbNmuv/++3Xu3DlJRUnbokWLlJCQoDZt2mjs2LGljrVz507t27dPc+bMkclkqnUMxf70pz/JMAz17t1b4eHheuedd0ptX7RokUaPHq2IiIhq1xkUFFTtsuHh4fLx8ZGPj4+2bt1qez03N1e//vWv1adPH82dO9f2+syZMzV//nxbogYAqB4SMwBwEa+88ooOHz6sb775RpmZmfr6668lSYZhSNJVSURQUJAGDhyoixcv2v5lZWXprbfeqvJYQUFB+vHHH6tVbsKECaWOkZ2drTlz5kiSYmNjtXHjRp06dUrdunXTgw8+WG49/v7+On78uG39p59+kr+/f5XHl65ut1Q0c6TJZNL+/fuVmZmpDz74wNZPkjRu3Dht27ZNx48fl8lk0uzZs23bhg4dqrlz5+q2227T6dOnqxVDZbG0a9dOy5Yt08mTJ7VkyRI9/PDDpWY5XL16tdauXavXXnutVse54YYbJBUl7sVKJt/JycnKyspSVlaWBgwYIKnomb67775bgYGBWrJkSam6N23apKeeekrt2rWzJe59+/bVhx9+WO34AMAVkZgBwHWooKBAV65csf2zWCy6fPmyvL291bx5c50/f17PPPNMqX3atm1bKpm68847deTIEb3//vsqKChQQUGBvv32Wx06dKjK49955506deqUFi1apLy8PF2+fLncKdXvv/9+ffrpp/riiy9ktVp15coVbdmyRWlpaTp9+rTWrVun7OxseXl5ycfHR25u5f/auu+++/SHP/xBZ8+e1blz5/Tss89W+/vEWrduLTc3t1Jtv3z5snx8fOTr66v09HS99NJLtm2HDx/W5s2blZeXp8aNG8vb2/uquH77299q3Lhxuu2222wjbbWNZfXq1bZJWlq0aCGTyVTqeP7+/tq0aZNee+21aiXN5R0zICBAH3zwgaxWq955551KZ1MsKCjQqFGj5O3trXffffeqth85ckTfffed9u7da7u19dNPP9XIkSNrHBsAuBISMwC4Dg0fPlze3t62fwkJCZo5c6Zyc3Pl5+enPn36aNiwYaX2eeyxx7RmzRq1aNFCjz76qJo2baqkpCQlJibK399f7dq10+zZs5WXl1fl8Zs2baqNGzfq008/Vbt27dS1a1d9+eWXV5ULCgrSunXr9Pzzz6t169YKCgrSSy+9pMLCQhUWFurVV1+Vv7+/WrZsqa+++qrCxOPpp5+W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8/PTgw8+qIiICLVr107R0dFX7T9r1ixdunRJEyZM0MqVK5Wamqqbb75ZhmGodevWWrt2rYKCgjR69GhFRESoU6dO6tmzZ6k6Lly4oB49esjLy0t///vfHd7mmmBWRtQYz5gBAAA0LLWZlfF6ExwcrN27d8vPz69OjsesjAAAAADQwHArI2qMkTIAAAA0NKmpqc4OoVKMmAEAAACAk5GYAQAAAICTkZgBAAAAgJORmAEAAACAk5GYAQAAAHA4d3d3RUVFKSIiQvfee69ycnKcHZJSU1P14Ycf2tZ3796tRx991CmxkJgBAAAAcDhvb2/t3btXBw4cUKNGjfT222+X2m6xWOo8prKJmdls1l/+8pc6j0MiMQMAAABQDuu8eFnnxTuk7gEDBujo0aPasmWLBgwYoLi4OIWFhclqteqpp55SdHS0evTooSVLltj2eemll2yvL1iwQFJRYtWtWzdNmjRJN954o8aPH69//etf6t+/v7p27apdu3ZJkhISEjRhwgT17dtXXbt21bJlyyRJc+bM0datWxUVFaU///nP2rJli+68805J0vnz53X33XerR48e6tOnj/bt22era/LkyRo0aJA6d+5st0SO7zEDAAAAUGcsFos+//xzDRs2TJL0n//8RwcOHFCnTp20dOlS+fr66ttvv1VeXp769++voUOHKiUlRSkpKdq1a5cMw1BcXJy+/vprdejQQUePHtXq1av1zjvvKDo6Wh9++KG2bdumTz75RM8//7zWrl0rSdq3b5927typ7Oxs9ezZUyNGjNDChQv18ssva/369ZKkLVu22OJcsGCBevbsqbVr12rz5s164IEHtHfvXknS999/ry+//FKXL19WaGioHnroIXl6el5Tv5CYAQAAALCxjZIl7ym17v7H5ddUb25urqKioiQVjZhNmTJF27dvV+/evdWpUydJUlJSkvbt26c1a9ZIki5duqSUlBQlJSUpKSlJPXv2lCRlZWUpJSVFHTp0UKdOnRQZGSlJCg8P12233SaTyaTIyMhSXyp91113ydvbW97e3rr11lu1a9cuNW/evMJ4t23bpn/84x+SpMGDBysjI0OZmZmSpBEjRsjLy0teXl5q06aNTp8+rcDAwGvqHxIzAAAAAA5X/IxZWTfccINt2TAMvf7664qNjS1V5osvvtDcuXM1bdq0Uq+npqbKy8vLtu7m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cujQIcXExKhJkyby8PDQwIED9fHHH8tkMikzM1OSdOnSJfn7+0uSDh48qMGDB0uSunXrptTUVJ0+fdpp8QP2OocvXbqkr7/+WlOmTJEkNWrUSM2bN3dKm+BaHPE5vGnTJnXp0kUdO3as28bAZdnzPLZYLMrNzZXFYlFOTo5tH6AsEjNcVyIiIrR161ZlZGQoJydH//znP3XixAktWrRITz31lIKCgvTkk0/qhRdekCTddNNN+vjjjyVJu3bt0vHjx5WWliZJMplMGjp0qHr16qWlS5c6rU1wLfY6h48dO6bWrVvrN7/5jXr27Kn4+HhlZ2c7s2lwEfb8HC6WmJio++67r87bAtdlr/M4ICBATz75pDp06KD27dvL19dXQ4cOdWbTUI8xXT6uOytWrNCbb76pG264QeHh4fLy8lJhYaEGDhyoe+65Rx999JGWLl2qf/3rX8rMzNRjjz2m//73v4qMjNT333+vZcuWKSoqSunp6QoICNCZM2c0ZMgQvf7667rllluc3Ty4AHucwxaLRX369NG///1vxcTE6LHHHlOzZs303HPPObt5cAH2+hyWpPz8fPn7+ys5OVlt27Z1bsPgUuxxHnfs2FH33HOPVq1apebNm+vee+/VqFGjdP/99zu7eaiHSMxwXfvd736nwMBAzZ07VxcvXpTJZJJhGPL19bXdilDMMAx16tRJ+/btU7NmzUptS0hIkI+Pj5588sm6DB+o9Tmck5OjPn36KDU1VZK0detWLVy4UJ999pkTWgFXdq2fw+vWrdPixYuVlJTkjPABSbU/j7/44gtt2LBBK1askCS999572rlzp958801nNAP1HLcy4rpz5swZSdJPP/2kjz/+WOPGjZO/v7+++uorSdLmzZvVtWtXSUWz1uXn50uSli9frltuuUXNmjVTdna2Ll++LEnKzs5WUlKSIiIinNAauCJ7nMPt2rVTUFCQDh8+LKnoGZ2wsDAntAauyB7ncLG///3v3MYIp7DHedyhQwft3LlTOTk5MgxDmzZtUvfu3Z3TINR7Hs4OALC3e+65RxkZGfL09NTixYvVvHlzLVu2TI899pgsFosaN25se2bs0KFDmjhxokwmk8LDw21/0Tp9+rRGjhwpqeih3XHjxmnYsGFOaxNciz3OYUl6/fXXNX78eOXn56tz587661//6qwmwcXY6xzOzs7Wxo0btWTJEmc1BS7MHudxTEyMRo0apZtvvlkeHh7q2bOnpk6d6sxmoR7jVkYAAAAAcDJuZQQAAAAAJyMxAwAAAAAnIzEDAAAAACcjMQMAAAAAJyMxAwAAAAAnIzEDALikjIwMRUVFKSoqSu3atVNAQICioqLk4+Ojhx9+2NnhAQBcDNPlAwBcXkJCgnx8fPTkk086OxQAgItixAwAgBK2bNmiO++8U1JRwjZx4kQNGDBAHTt21Mcff6zf/va3ioyM1LBhw1RQUCBJ2rNnjwYOHKhevXopNjZWp06dcmYTAAANEIkZAACV+OGHH7R582Z98sknuv/++3Xrrbdq//798vb21meffaaCggI98sgjWrNmjfbs2aPJkydr3rx5zg4bANDAeDg7AAAA6rM77rhDnp6eioyMlNVq1bBhwyRJkZGRSk1N1eHDh3XgwAENGTJEkmS1WtW+fXtnhgwAaIBIzAAAqISXl5ckyc3NTZ6enjKZTLZ1i8UiwzAUHh6uHTt2ODNMAEADx62MAABcg9DQUJ09e9aWmBUUFCg5OdnJUQEAGhoSMwAArkGjRo20Zs0azZ49WzfddJOioqK0fft2Z4cFAGhgmC4fAAAAAJyMETMAAAAAcDISMwAAAABwMhIzAAAAAHAyEjMAAAAAcDISMwAAAABwMhIzAAAAAHAyEjMAAAAAcLL/D+bf/FCuLUT+AAAAAElFTkSuQmCC' style='max-width:100%; margin: auto; display: block; '/>"
],
"text/plain": [
":Overlay\n",
" .Scatter.Wakeup :Scatter [Time] (wakeup_latency)\n",
" .Scatter.Preemption :Scatter [Time] (preempt_latency)\n",
" .Threshold.A_1ms_threshold :HLine [x,y]"
]
},
"execution_count": 90,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {}
},
"output_type": "execute_result"
}
],
"source": [
"trace.ana.latency.plot_latencies(\"tsk_ru-24\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import holoviews as hv\n",
"# Before rendering any plot, a plotting backend for holoviews has to be chosen.\n",
"# Bokeh provides much better interactive (and HTML) plots than matplotlib\n",
"hv.extension('bokeh')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"trace.ana.latency.plot_latencies(\"tsk4_1-13\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"trace.ana.latency.plot_latencies_cdf(\"tsk4_1-13\")"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1AAAAEGCAYAAABrU3TyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAlUElEQVR4nO3de1yVVb7H8e8W2EwKgXhJFISQHG4iJuatTJuTmhrHW45lZifNJj2vbtOUp06Tp5lpbCobtWaU8uQxzdSaCTXhZCR2mRxDJfOWaIkIRqJp4o0NrPNHL/aRuD0qz95b/LxfL18v936eZ60feyHxba1nPQ5jjBEAAAAAoFEtvF0AAAAAAFwqCFAAAAAAYBEBCgAAAAAsIkABAAAAgEUEKAAAAACwiAAFAAAAABYRoAAAbkuXLtXgwYPrPT5w4EC99tprHqzowp0+fVq33nqrQkJCdNttt9naV3R0tD744INLpl0AwIUjQAGATd58802lpqYqKChI4eHhuuWWW/TJJ59IkmbOnKmAgAAFBQUpNDRU/fr102effeY+duedd9Zqz+FwaO/evbbWPGHCBL3//vu29uEpb7/9tkpKSnTkyBGtXLmy1vH6Pme7eWIcL8bZs2c1efJkRUVFKTg4WCkpKcrMzKzz3GeeeUYOh4OQB+CyQoACABvMnj1bDz30kJ544gmVlJTowIEDmjZtmjIyMtzn/PKXv1RZWZkOHz6s66+/XqNHj1ZTPNu8oqLiottoDgoKCtS1a1f5+/t7uxSvuZDvhYqKCkVGRmrDhg06fvy4fv/732vcuHHav39/jfP27dunlStXKjw8vImqBYBLAwEKAJrY8ePH9dvf/lavvPKKRo8erVatWikgIEC33nqrnn/++VrnBwQEaNKkSfr222915MiRC+ozOjpazz33nJKTk9WqVStVVFRo48aN6tevn0JDQ9W9e3fl5OS4z1+0aJFiYmIUHBysq6++WkuXLnW/f/3117vPW7duneLi4hQSEqJ///d/rxXw/vu//1vx8fFq3bq1hgwZooKCAvcxh8Oh+fPn65prrlFoaKimT59e4/pXX31V8fHxCg4OVkJCgrZs2aLnn39eY8aMqdHHAw88oAcffLDOr3vXrl0aOHCgQkNDlZiYqFWrVkmSnn76aT3zzDNavny5goKCtHDhwhrXZWVl6dlnn3Uf7969uyTp9ddfd9cUExOjBQsWuK8pLS3ViBEjFBoaqrCwMN1www2qqqqqs6arr75ay5Ytq3VswIABkqTu3bsrKChIy5cvb5J2z1XX98JPZ73uvvtu/ed//med17dq1UozZ85UdHS0WrRooREjRujqq6/W5s2ba5w3ffp0Pffcc3I6nQ3WAwDNjgEANKnMzEzj5+dnXC5Xvec8/fTTZsKECcYYY86cOWMeffRRExkZWevYuSSZ/Pz8OtuLiooy3bt3NwcOHDCnTp0yBw8eNGFhYea9994zlZWV5v333zdhYWHmu+++M2VlZSY4ONjs3r3bGGNMcXGx2b59uzHGmNdff93079/fGGPM4cOHTVBQkFm5cqUpLy83s2fPNn5+fubVV181xhjz7rvvmi5dupidO3cal8tlfve735m+ffvWqHf48OHm+++/NwUFBaZt27YmMzPTGGPMihUrTMeOHc2mTZtMVVWVyc/PN/v37zfFxcWmZcuW5vvvvzfGGONyuUy7du1Mbm5ura+5vLzcdOnSxfzhD38wZ8+eNdnZ2SYoKMj9ddX3OdY1BtXWrFlj9u7da6qqqkxOTo654oorzObNm40xxsyYMcPcd999pry83JSXl5uPPvrIVFVVuT//devWmc2bN5vIyEizevXqevv96Tg2VbvVfvq9UFefkyZNMk8++WSjbRljzLfffmsCAwPNrl273O+tWLHCpKWl1agRAC4XzEABQBM7cuSI2rZt2+jSsRUrVig0NFSRkZHavHmz/v73v19Uvw888IAiIyN1xRVXaMmSJRo2bJiGDRumFi1a6Oabb1ZqaqrWrl0rSWrRooW2b9+u06dPKzw8XImJibXaW7t2rRITEzV27FgFBATooYceUocOHdzH58+fr//4j/9QfHy8/P399cQTTygvL6/GLNSMGTMUGhqqzp07a9CgQcrLy5Mkvfbaa3rsscfUq1cvORwOxcbGKioqSuHh4RowYID7nqWsrCy1bdtWPXv2rFXfxo0bVVZWphkzZsjpdOqmm27SiBEjGp2hacjw4cPVpUsXORwO3XjjjRo8eLA+/vhjST/OFB46dEgFBQUKCAjQDTfcIIfD4b72448/VlpamhYvXqwRI0ZY7tOOds/9XrgYLpdLEyZM0KRJkxQXFydJOnHihJ544gnNmTPnotoGgEsVAQoAmlibNm1UWlra6P0n48aN07Fjx/Tdd9/pww8/dIcEf39/uVyuGudWvw4ICKi3vcjISPffCwoKtHLlSoWGhrr/fPLJJzp06JBatWql5cuXa/78+QoPD9fw4cO1e/fuWu0VFxfXaNPhcNTq48EHH3S3HxYWJmOMioqK3OecG7hatmypsrIySVJhYaG6dOlS59cxadIkLVmyRJK0ZMkSTZw4sc7zqutr0eL//1MWFRVVo//zlZmZqT59+igsLEyhoaFau3atSktLJUm/+c1vFBsbq8GDBysmJkazZs2qce38+fPVr18/DRw48Lz6tKPdc8epMbfccouCgoIUFBTkXsopSVVVVZo4caKcTqdefvll9/szZ87UxIkTFR0dbbkPAGhOCFAA0MT69u2rwMBAvfvuuxd0fefOnWvdsP/NN9/I399fnTp1qve6c2ctIiMjNXHiRB07dsz95+TJk5oxY4YkaciQIVq3bp0OHTqkuLg43XvvvbXaCw8PV2Fhofu1MabG68jISC1YsKBGH6dPn1a/fv0a/RojIyO1b9++Oo+NHDlS27Zt0/bt27VmzRpNmDChzvM6duyowsLCGvcLHThwoMHP6Fznfl7Sj7vPjRkzRo8++qhKSkp07NgxDRs2zH3fVnBwsF588UV9/fXXWrVqlWbPnq3s7Gz39fPnz9eBAwf08MMPW+q/mh3t/vRra9mypU6dOuV+/e2337r/npmZqbKyMpWVlbk/a2OMJk+erJKSEr3zzjs1gnt2drbmzp2rDh06qEOHDiosLNS4ceP03HPPndfXDQCXKgIUADSxkJAQPfPMM5o+fbreffddnTp1Si6XS5mZmXrssccavX7o0KHavXu33njjDblcLh09elRPPPGExowZY3lHuTvvvFOrV6/W//7v/6qyslJnzpxRTk6ODh48qJKSEmVkZOjkyZMKDAxUUFBQjVmcasOHD9eOHTv0t7/9TRUVFZo7d26NX7x/9atf6Y9//KN27Ngh6cfNM+raLrwuU6ZM0QsvvKDNmzfLGKO9e/e6l/797Gc/09ixY3XHHXfouuuuU+fOnetso3fv3mrZsqX+9Kc/yeVyKScnR6tXr9b48eMt1XDVVVdp//797gBWXl6us2fPql27dvL391dmZmaNLd3XrFmjvXv3yhijkJAQ+fn51fjcgoODlZWVpY8++sgdVOvr9+uvv27ydhuSkpKiN998U5WVlcrKytKG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' style='max-width:100%; margin: auto; display: block; '/>"
],
"text/plain": [
":Bars [cpu] (runtime)"
]
},
"execution_count": 87,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {}
},
"output_type": "execute_result"
}
],
"source": [
"trace.ana.tasks.plot_task_total_residency(\"tsk_ru-24\")"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2021-09-24 12:23:22,061 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,072 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,084 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,095 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,106 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,117 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,130 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,142 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,154 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:23:22,165 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n"
]
},
{
"data": {
"text/html": [
"<img src='data:image/png;base64,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FB0drWnTptmWq1WrZso+rpaXl2dqf40aNdKaNWtM6SsiIkIzZswwpS97iY2NlZeXV5m2efHFFxUdHS2pfGeHjB07VvHx8aXeX7NmzfT5559r3759evrppxUVFXXNbV5++WXt2bNHe/fuVePGjTV//nxJ0rRp0zR79uxS7xsAnIlT3PgiKipKiYmJSkxMVP369R1dzg3h1R6+WtDTV8H1qimsQU0t6Hl5Gc7jyvcsrEFNh30Pr1XD79dvHtrcLvVeD8+Fs1i8eLHatWun0NBQDRkyROfPn5ckrV69WiEhIQoNDVXXrl2LbLdp0yZ17NhRmZmZhR6fOXOmRo8erc6dO2v06NFFZr8GDBighIQESZKbm5ueeuophYaGqkOHDjpx4oSkyy/0H3roIXXq1EnNmze3BauUlBTbDMuyZcs0ePBg9e3bV7feeqsef/xx2z6WLFmi2267TXfccYcefPDBYmdGrq6rpP393t///nfddtttuvPOO/XDDz/YHk9KSlKHDh3Upk0bDRo0SCdPnpQk3XXXXZo2bZqsVqsCAwP1zTffaPDgwbr11lv117/+1bb9wIED1bZtWwUHBysmJsb2eNOmTZWZmamUlBQFBgbqwQcfVHBwsHr37q0LFy4UW+PVynN2SNeuXVW3bt1r9n1Fp06dVKdOHUlShw4dlJZ27TcEPDw8JF2+c+CFCxe45grATcFuIcvX11epqam25bS0NPn6+pbYJi8vT6dPn5a3t7e9SgKA69aVGazdJy5o94kLps5oXW3w4MH65ptvtGfPHgUGBmrJkiWSpNmzZ+uTTz7Rnj17tH79+kLbfPTRR3rhhRcUGxurevXqFenz+++/16effqr333//D/d97tw5dejQQXv27FHXrl21ePFi27rjx4/ryy+/1MaNG0uccUpKStKqVau0b98+rVq1SqmpqTp27Jiee+457dy5U1999ZUOHTpUqufhWvvbvXu3Vq5cqaSkJMXGxuqbb76xrRszZoz+8Y9/aO/evWrdurVmzZplW1etWjUlJiYqOjpa//u//6sFCxZo//79WrZsme1Mjbfeeku7d+9WYmKiXnvttWLP4EhOTtakSZN04MABeXl56cMPP7zmmEp7dohZlixZorvvvrtUbR944AE1bNhQhw4d0pQpU+xWEwBcL+z2OVnt2rVTcnKyfv75Z/n6+mrlypV67733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' style='max-width:100%; margin: auto; display: block; '/>"
],
"text/plain": [
":Overlay\n",
" .Scatter.Task_running_in_domain_left_square_bracket_0_comma_1_comma_2_comma_3_right_square_bracket :Scatter [Time] (__cpu)\n",
" .VSpan.Overutilized.I :VSpan [x,y]\n",
" .VSpan.Overutilized.II :VSpan [x,y]\n",
" .VSpan.Overutilized.III :VSpan [x,y]\n",
" .VSpan.Overutilized.IV :VSpan [x,y]\n",
" .VSpan.Overutilized.V :VSpan [x,y]\n",
" .VSpan.Overutilized.VI :VSpan [x,y]\n",
" .VSpan.Overutilized.VII :VSpan [x,y]\n",
" .VSpan.Overutilized.VIII :VSpan [x,y]\n",
" .VSpan.Overutilized.IX :VSpan [x,y]\n",
" .VSpan.Overutilized.X :VSpan [x,y]"
]
},
"execution_count": 84,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {}
},
"output_type": "execute_result"
}
],
"source": [
"trace.ana.tasks.plot_task_residency(\"tsk4_1-13\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"trace.ana.tasks.plot_tasks_wakeups_heatmap(bins=200)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"trace.ana.tasks.plot_tasks_forks_heatmap(bins=200)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2021-09-24 12:20:11,335 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,392 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,411 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,431 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,447 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,461 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,477 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,499 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,507 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n",
"2021-09-24 12:20:11,513 WARNING : py.warnings : /home/leoy/Work2/Develop/tools/lisa/.lisa-venv-3.8/lib/python3.8/site-packages/holoviews/plotting/mpl/annotation.py:119: UserWarning: Setting the 'color' property will override the edgecolor or facecolor properties.\n",
" return [axis.axvspan(*positions, **opts)]\n",
"\n"
]
},
{
"data": {
"text/html": [
"<img src='data:image/png;base64,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' style='max-width:100%; margin: auto; display: block; '/>"
],
"text/plain": [
":Overlay\n",
" .VSpan.Overutilized.I :VSpan [x,y]\n",
" .VSpan.Overutilized.II :VSpan [x,y]\n",
" .VSpan.Overutilized.III :VSpan [x,y]\n",
" .VSpan.Overutilized.IV :VSpan [x,y]\n",
" .VSpan.Overutilized.V :VSpan [x,y]\n",
" .VSpan.Overutilized.VI :VSpan [x,y]\n",
" .VSpan.Overutilized.VII :VSpan [x,y]\n",
" .VSpan.Overutilized.VIII :VSpan [x,y]\n",
" .VSpan.Overutilized.IX :VSpan [x,y]\n",
" .VSpan.Overutilized.X :VSpan [x,y]"
]
},
"execution_count": 82,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {}
},
"output_type": "execute_result"
}
],
"source": [
"trace.ana.status.plot_overutilized()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment