{# Scripts, for visualization#}
{# Render measurement result charts #}
{% for test in test_data %}
{% if test.status == 'SUCCESS' %}
{% for measurement in test.measurements %}
{% set chart_elem_id = test.name + '_' + measurement.name + '_chart' %}
{% include 'measurement_chart.html' %}
{% endfor %}
{% endif %}
{% endfor %}
{# Styles #}
{# Test metadata #}
General
{# Test result summary #}
Test result summary
{% for test in test_data %}
{% if loop.index is even %}
{% set row_style = 'style="background-color: #f2f2f2"' %}
{% else %}
{% set row_style = 'style="background-color: #ffffff"' %}
{% endif %}
{% if test.status == 'SUCCESS' %}
{% for measurement in test.measurements %}
{% if loop.index == 1 %}
{{ test.name }}: {{ test.description }} |
{% else %}
{# add empty cell in place of the test name#}
|
{% endif %}
{% if measurement.absdiff > 0 %}
{% set result_style = "color: red" %}
{% elif measurement.absdiff == measurement.absdiff %}
{% set result_style = "color: green" %}
{% else %}
{% set result_style = "color: orange" %}
{%endif %}
{{ measurement.description }} |
{{ measurement.value.mean }} |
{{ measurement.absdiff_str }} |
{{ measurement.reldiff }} |
{% endfor %}
{% else %}
{{test.status }} |
| | | |
{% endif %}
{% endfor %}
{# Detailed test results #}
{% for test in test_data %}
{{ test.name }}: {{ test.description }}
{% if test.status == 'SUCCESS' %}
{% for measurement in test.measurements %}
{{ measurement.description }}
{{ measurement.value.mean }}
{% if measurement.absdiff > 0 %}
{% elif measurement.absdiff == measurement.absdiff %}
{% else %}
{% endif %}
{{ measurement.absdiff_str }} ({{measurement.reldiff}})
{# Table for trendchart and the statistics #}
{# Linechart #}
|
{# Measurement statistics #}
Test runs | {{ measurement.value.sample_cnt }} |
-/+ | -{{ measurement.value.minus }} / +{{ measurement.value.plus }} |
Min | {{ measurement.value.min }} |
Max | {{ measurement.value.max }} |
Stdev | {{ measurement.value.stdev }} |
|
|
|
{# Task and recipe summary from buildstats #}
{% if 'buildstats' in measurement %}
Task resource usage
Number of tasks |
Top consumers of cputime |
{{ measurement.buildstats.tasks.count }} ({{ measurement.buildstats.tasks.change }}) |
{# Table of most resource-hungry tasks #}
{% for diff in measurement.buildstats.top_consumer|reverse %}
{{ diff.pkg }}.{{ diff.task }} |
{{ '%0.0f' % diff.value2 }} s |
{% endfor %}
|
Biggest increase in cputime |
Biggest decrease in cputime |
{# Table biggest increase in resource usage #}
{% for diff in measurement.buildstats.top_increase|reverse %}
{{ diff.pkg }}.{{ diff.task }} |
{{ '%+0.0f' % diff.absdiff }} s |
{% endfor %}
|
{# Table biggest decrease in resource usage #}
{% for diff in measurement.buildstats.top_decrease %}
{{ diff.pkg }}.{{ diff.task }} |
{{ '%+0.0f' % diff.absdiff }} s |
{% endfor %}
|
{# Recipe version differences #}
{% if measurement.buildstats.ver_diff %}
Recipe version changes
{% for head, recipes in measurement.buildstats.ver_diff.items() %}
{{ head }} |
{% for name, info in recipes|sort %}
{{ name }} |
{{ info }} |
{% endfor %}
{% endfor %}
{% else %}
No recipe version changes detected
{% endif %}
{% endif %}
{% endfor %}
{# Unsuccessful test #}
{% else %}
{{ test.status }}
{% if test.err_type %}({{ test.err_type }}){% endif %}
{{ test.message }}
{% endif %}
{% endfor %}