diff --git a/ipynb/wltests/sched-evaluation-full.ipynb b/ipynb/wltests/sched-evaluation-full.ipynb index a1f49708f573e10859884b754390ba0b11c937cb..41172ee44cbd36bf4be999f11dcd93ce11004bc1 100644 --- a/ipynb/wltests/sched-evaluation-full.ipynb +++ b/ipynb/wltests/sched-evaluation-full.ipynb @@ -109,7 +109,7 @@ "for test in collector.tests(workload='jankbench'):\n", " logging.info(\"Results for: %s\", test)\n", " collector.report(workload='jankbench', metric='frame_total_duration',\n", - " test=test, sort_on='99%', ascending=True)" + " test=\"^{}$\".format(test), sort_on='99%', ascending=True)" ] }, { @@ -130,7 +130,7 @@ "for test in collector.tests(workload='jankbench'):\n", " logging.info(\"Results for: %s\", test)\n", " collector.report(workload='jankbench', metric='device_total_energy',\n", - " test=test, sort_on='99%', ascending=True)" + " test=\"^{}$\".format(test), sort_on='99%', ascending=True)" ] }, { @@ -150,7 +150,8 @@ "source": [ "for test in collector.tests(workload='jankbench'):\n", " logging.info(\"Results for: %s\", test)\n", - " collector.plot_cdf(workload='jankbench', metric='frame_total_duration', test=test, threshold=16)" + " collector.plot_cdf(workload='jankbench', metric='frame_total_duration',\n", + " test=\"^{}$\".format(test), threshold=16)" ] }, { @@ -331,6 +332,7 @@ }, "outputs": [], "source": [ + "pm_df = df[df.workload == 'pcmark']\n", "pm_scores = [m for m in pm_df.metric.unique().tolist() if m.startswith('pcmark_')]\n", "for metric in pm_scores:\n", " collector.report(workload='pcmark', metric=metric,\n", diff --git a/tools/wltests/agendas/sched-evaluation-full-traced.yaml b/tools/wltests/agendas/sched-evaluation-full-traced.yaml new file mode 100644 index 0000000000000000000000000000000000000000..592a540656a4773c5a5c99f2db2fb6b93fd7c6f9 --- /dev/null +++ b/tools/wltests/agendas/sched-evaluation-full-traced.yaml @@ -0,0 +1,124 @@ +# This is an example agenda which shows a possible (rather large) set of +# workloads and data collection. +# +# This will run 5 iterations each of a large set of workloads, under each of +# PELT and WALT load tracking (it assumes that the target supports both +# mechanisms). + +################################################################################ +# GLOBAL CONFIGURATIONS +################################################################################ +global: + # Collect energy data, ftrace files, and dmesg + # You may want to edit your config.yaml to set up the energy_measurement + # instrument (an example configuration is provided in this repo). + instrumentation: [energy_measurement, trace-cmd, dmesg] + # Do everything 5 times, if not otherwise specified by the specific workload + iterations: 5 + + # To aid reproducibility and try to reduce noise in power measurements, + # minimise the screen brightness and set airplane mode on. + runtime_params: + brightness: 0 + screen_on: true + airplane_mode: true + +################################################################################ +# SYSTEM CONFIGURATIONS +################################################################################ +sections: + - id: default # Just a human-readable name + classifiers: # Will be used to map job output to 'tags' when analysing + tag: dflt + +################################################################################ +# WORKLOADS CONFIGURATIONS +################################################################################ +workloads: + +################################################################################ +# Homescreen +# Sit on the homescreen for 15 seconds + - name: homescreen + classifiers: + tag: sit_15s + workload_parameters: + duration: 15 + +################################################################################ +# Exoplayer + +# Play 30 seconds of a video with Exoplayer - this is the basis for the +# YouTube app, so it's hoped that this is a decent proxy for Youtube +# performance on devices where running the real app is impractical. + - name: exoplayer + classifiers: + tag: mov_720p_30s + workload_parameters: + format: "mov_720p" + duration: 30 + +# Play 30 seconds of a OGG Vorbis audio with Exoplayer + - name: exoplayer + classifiers: + tag: ogg_128kbps_30s + workload_parameters: + format: "ogg_128kbps" + duration: 30 + +################################################################################ +# PCMark + + - name: pcmark + classifiers: + tag: single + iterations: 10 + +################################################################################ +# Geekbench + + - name: geekbench + classifiers: + tag: iter_30 + runtime_parameters: + airplane_mode: false + iterations: 10 + +################################################################################ +# Jankbench + + - name: jankbench + classifiers: + tag: iter_30 + workload_parameters: + test: list_view + iterations: 30 + + - name: jankbench + classifiers: + tag: iter_30 + workload_parameters: + test: image_list_view + iterations: 30 + + - name: jankbench + classifiers: + tag: iter_30 + workload_parameters: + test: shadow_grid + iterations: 30 + + - name: jankbench + classifiers: + tag: iter_30 + workload_parameters: + test: low_hitrate_text + iterations: 30 + + - name: jankbench + classifiers: + tag: iter_30 + workload_parameters: + test: edit_text + iterations: 30 + diff --git a/tools/wltests/agendas/sched-evaluation-full.yaml b/tools/wltests/agendas/sched-evaluation-full.yaml index edffd09951db082577edfc86d651aeb5c6263320..c1dfb7e6ed33e93f451be2fe82e86795d3c67144 100644 --- a/tools/wltests/agendas/sched-evaluation-full.yaml +++ b/tools/wltests/agendas/sched-evaluation-full.yaml @@ -12,7 +12,7 @@ global: # Collect energy data, ftrace files, and dmesg # You may want to edit your config.yaml to set up the energy_measurement # instrument (an example configuration is provided in this repo). - instrumentation: [energy_measurement, trace-cmd, dmesg] + instrumentation: [energy_measurement, dmesg] # Do everything 5 times, if not otherwise specified by the specific workload iterations: 5 @@ -72,7 +72,7 @@ workloads: - name: pcmark classifiers: tag: single - iterations: 5 + iterations: 10 ################################################################################ # Geekbench diff --git a/tools/wltests/agendas/sched-evaluation-small.yaml b/tools/wltests/agendas/sched-evaluation-small.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a226d9dc2917f9ac51c82cb6c70d462649ca6fef --- /dev/null +++ b/tools/wltests/agendas/sched-evaluation-small.yaml @@ -0,0 +1,124 @@ +# This is an example agenda which shows a possible (rather large) set of +# workloads and data collection. +# +# This will run 5 iterations each of a large set of workloads, under each of +# PELT and WALT load tracking (it assumes that the target supports both +# mechanisms). + +################################################################################ +# GLOBAL CONFIGURATIONS +################################################################################ +global: + # Collect energy data, ftrace files, and dmesg + # You may want to edit your config.yaml to set up the energy_measurement + # instrument (an example configuration is provided in this repo). + instrumentation: [energy_measurement, trace-cmd, dmesg] + # Do everything 5 times, if not otherwise specified by the specific workload + iterations: 2 + + # To aid reproducibility and try to reduce noise in power measurements, + # minimise the screen brightness and set airplane mode on. + runtime_params: + brightness: 0 + screen_on: true + airplane_mode: true + +################################################################################ +# SYSTEM CONFIGURATIONS +################################################################################ +sections: + - id: default # Just a human-readable name + classifiers: # Will be used to map job output to 'tags' when analysing + tag: dflt + +################################################################################ +# WORKLOADS CONFIGURATIONS +################################################################################ +workloads: + +################################################################################ +# Homescreen +# Sit on the homescreen for 15 seconds + - name: homescreen + classifiers: + tag: sit_3s + workload_parameters: + duration: 3 + +################################################################################ +# Exoplayer + +# Play 30 seconds of a video with Exoplayer - this is the basis for the +# YouTube app, so it's hoped that this is a decent proxy for Youtube +# performance on devices where running the real app is impractical. + - name: exoplayer + classifiers: + tag: mov_720p_3s + workload_parameters: + format: "mov_720p" + duration: 3 + +# Play 30 seconds of a OGG Vorbis audio with Exoplayer + - name: exoplayer + classifiers: + tag: ogg_128kbps_3s + workload_parameters: + format: "ogg_128kbps" + duration: 3 + +################################################################################ +# PCMark + + - name: pcmark + classifiers: + tag: iter_5 + iterations: 5 + +################################################################################ +# Geekbench + + - name: geekbench + classifiers: + tag: iter_3 + runtime_parameters: + airplane_mode: false + iterations: 3 + +################################################################################ +# Jankbench + + - name: jankbench + classifiers: + tag: iter_3 + workload_parameters: + test: list_view + iterations: 3 + + - name: jankbench + classifiers: + tag: iter_3 + workload_parameters: + test: image_list_view + iterations: 3 + + - name: jankbench + classifiers: + tag: iter_3 + workload_parameters: + test: shadow_grid + iterations: 3 + + - name: jankbench + classifiers: + tag: iter_3 + workload_parameters: + test: low_hitrate_text + iterations: 3 + + - name: jankbench + classifiers: + tag: iter_3 + workload_parameters: + test: edit_text + iterations: 3 +