{% 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] %}
{% if is_share %}
{{ '%.2f' % (value) }}
{% else %}
{{ value }}
{% endif %}
|
|
{{ _render_value2_and_diff(value, stats[1], is_share) }}
{{ _render_value2_and_diff(value, stats[2], is_share) }}
{% 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') %}
Collection |
Requests |
Cache hits |
Cache hits ratio |
{% 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']) }}
{% else %}
cannot download stats resource
{% endif %}
{%- endmacro %}