{% macro _render_value2_and_diff(value, value2, is_share) %} {% set max_diff = 0.5 %} {% if is_share %} {{ '%.2f' % (value2) }} {% else %} {{ value2 }} {% endif %} {% if value2 == 0 %} {% if value == 0 %} {% set diff = 0.0 %} {% else %} {% set diff = -100.0 %} {% endif %} {% else %} {% set diff = ((value2 - value) / value * 100.0) %} {% endif %} {% if diff %} {% if diff > max_diff %} {% set color='green' %} {% elif diff < -max_diff %} {% set color='red' %} {% else %} {% set color='gray' %} {% endif %} {{ '(%+.2f%%)' % (color, diff) }} {% endif %} {% endmacro %} {% macro _render_stat(stats, is_share) %} {% set value = stats[0] %} {{ _render_value2_and_diff(value, stats[1], is_share) }} {{ _render_value2_and_diff(value, stats[2], is_share) }}
{% if is_share %} {{ '%.2f' % (value) }} {% else %} {{ value }} {% endif %}
{% endmacro %} {% macro _render_row(collection, cstat) -%} {{ collection }} {{ _render_stat(cstat['reqs'], False) }} {{ _render_stat(cstat['cache_hit'], False) }} {{ _render_stat(cstat['cache_hit_ratio'], True) }} {%- endmacro %} {% macro render(stats) -%} {% if stats %} {% set collection_names = stats.keys() %} {% set tmp = collection_names.remove('ALL') %} {% for collection, cstat in stats.iteritems() %} {% if collection == 'ALL' %} {% set all_stat = cstat %} {% else %} {{ _render_row(collection, cstat) }} {% endif %} {% endfor %} {{ _render_row('ALL', stats['ALL']) }}
Collection Requests Cache hits Cache hits ratio
{% else %} cannot download stats resource {% endif %} {%- endmacro %}