20 lines
1.4 KiB
XML
20 lines
1.4 KiB
XML
{% set data = j2_model_perf_data(request) %}
|
|
{% if data %}{% set maxv = namespace(v=0) %}{% for r in data %}{% if r.get("avg_latency_ms",0)|float > maxv.v %}{% set maxv.v = r.get("avg_latency_ms",0)|float %}{% endif %}{% endfor %}{% endif %}
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {"width": "100%"},
|
|
"subwidgets": [
|
|
{% for r in data %}
|
|
{% set name = r.get("model","") %}{% set val = r.get("avg_latency_ms",0)|float %}{% set pct = (val/maxv.v*100)|int if maxv.v else 0 %}
|
|
{"widgettype":"VBox","options":{"width":"100%","marginBottom":"4px"},"subwidgets":[
|
|
{"widgettype":"HBox","options":{"width":"100%"},"subwidgets":[
|
|
{"widgettype":"Text","options":{"text":{{json.dumps(name,ensure_ascii=False)}},"width":"32%","fontSize":"11px"}},
|
|
{"widgettype":"Text","options":{"text":{{json.dumps(val|string+'ms',ensure_ascii=False)}},"width":"12%","fontSize":"11px","textAlign":"right","color":"var(--sage-text-secondary)"}},
|
|
{"widgettype":"VBox","options":{"width":"56%","height":"14px","bgcolor":"var(--sage-bg-tertiary)","borderRadius":"3px"},"subwidgets":[
|
|
{"widgettype":"VBox","options":{"width":"{{pct}}%","minWidth":"2px","height":"14px","bgcolor":"#3b82f6","borderRadius":"3px"}}
|
|
]}
|
|
]}
|
|
]}{% if not loop.last %},{% endif %}{% endfor %}
|
|
]
|
|
}
|