23 lines
682 B
Python
23 lines
682 B
Python
|
|
import os
|
|
import json
|
|
import time
|
|
|
|
def log_token_usage(prompt_tokens, completion_tokens, model_name):
|
|
"""Logs token usage to a local JSONL file for fleet-wide accounting."""
|
|
spend_dir = os.path.expanduser("~/.hermes/telemetry/spend")
|
|
os.makedirs(spend_dir, exist_ok=True)
|
|
|
|
session_id = os.environ.get("HERMES_SESSION_ID", "default")
|
|
log_file = os.path.join(spend_dir, f"session_{session_id}.jsonl")
|
|
|
|
record = {
|
|
"timestamp": time.time(),
|
|
"model": model_name,
|
|
"input_tokens": prompt_tokens,
|
|
"output_tokens": completion_tokens
|
|
}
|
|
|
|
with open(log_file, "a") as f:
|
|
f.write(json.dumps(record) + "\n")
|
|
|