fix(usage): restore per-model cost tracking in full usage report

This commit is contained in:
vai committed 2026-06-27 09:50:13 +00:00
1 parent e63af354ec
commit 6add0680ac
1 file changed
+21 -1
+21 -1
View File
@@ -190,7 +190,27 @@ class Tools:
lines.append(f"Spend: ${meta.get('total_spend', 0):.2f}{get_spark(spends)}") lines.append(f"Spend: ${meta.get('total_spend', 0):.2f}{get_spark(spends)}")
lines.append(f"Requests: {meta.get('total_successful_requests', 0)} ok, {meta.get('total_failed_requests', 0)} fail") lines.append(f"Requests: {meta.get('total_successful_requests', 0)} ok, {meta.get('total_failed_requests', 0)} fail")
lines.append("\nBreakdown by Endpoint:") # Aggregated Model Breakdown
model_totals = {}
for day in results:
models = day.get("breakdown", {}).get("models", {})
for m_name, m_data in models.items():
metrics = m_data.get("metrics", {})
if m_name not in model_totals:
model_totals[m_name] = {"spend": 0, "reqs": 0}
model_totals[m_name]["spend"] += metrics.get("spend", 0)
model_totals[m_name]["reqs"] += metrics.get("successful_requests", 0)
if model_totals:
lines.append("\nBy Model (Spend > $0.001):")
sorted_models = sorted(model_totals.items(), key=lambda x: x[1]["spend"], reverse=True)
for m_name, m_stats in sorted_models:
if m_stats["spend"] >= 0.001 or not self.valves.default_hide_zero_spend:
# Strip common prefixes for readability
display = m_name.split("/")[-1]
lines.append(f" {display:25s} | ${m_stats['spend']:7.2f} | {m_stats['reqs']:4d} ok")
lines.append("\nBy Endpoint:")
ends = results[0].get("breakdown", {}).get("endpoints", {}) if results else {} ends = results[0].get("breakdown", {}).get("endpoints", {}) if results else {}
for path, edata in ends.items(): for path, edata in ends.items():
m = edata.get("metrics", {}) m = edata.get("metrics", {})