in yourbench/utils/inference/inference_tracking.py [0:0]
def _write_aggregate_log():
"""Writes the aggregated cost data to a file at program exit."""
try:
if not _cost_data:
logger.info("No cost data collected, skipping aggregate log.")
return
_ensure_logs_dir()
logger.info(f"Writing aggregate cost log to {_aggregate_log_file}")
with open(_aggregate_log_file, "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["model_name", "total_input_tokens", "total_output_tokens", "total_calls"])
for model_name, data in sorted(_cost_data.items()):
writer.writerow([model_name, data["input_tokens"], data["output_tokens"], data["calls"]])
logger.success(f"Aggregate cost log successfully written to {_aggregate_log_file}")
except Exception as e:
# Use print here as logger might be shutting down during atexit
print(f"ERROR: Failed to write aggregate cost log: {e}", flush=True)