Overview
The MetricsTracker has a TODO for daily token usage aggregation, which would enable timeline visualizations.
Current State
File: codeframe/lib/metrics_tracker.py lines 457-458
# TODO: Implement by_day aggregation (future enhancement)
# This would group usage by date for timeline visualization
Expected Behavior
- Aggregate token usage by day for time-series analysis
- Support date range queries (start_date, end_date)
- Calculate daily costs
- Enable dashboard charts showing trends over time
Implementation Requirements
- Add
get_usage_by_day() method to MetricsTracker
- Query database with date grouping
- Return daily aggregates with date, tokens, cost
- Support filtering by agent, model, project
Example Usage
tracker = MetricsTracker(db=db)
# Get daily usage for last 30 days
daily_usage = tracker.get_usage_by_day(
project_id=1,
start_date="2025-11-01",
end_date="2025-11-30"
)
# Result:
# [
# {"date": "2025-11-01", "tokens": 15000, "cost_usd": 0.45},
# {"date": "2025-11-02", "tokens": 22000, "cost_usd": 0.66},
# ...
# ]
SQL Query
SELECT
DATE(timestamp) as date,
SUM(input_tokens + output_tokens) as total_tokens,
SUM(cost_usd) as total_cost
FROM token_usage
WHERE project_id = ?
AND timestamp BETWEEN ? AND ?
GROUP BY DATE(timestamp)
ORDER BY date
Acceptance Criteria
Priority
P3 - Advanced: Nice visualization feature, not critical for core functionality.
References
- File: codeframe/lib/metrics_tracker.py lines 457-458
Overview
The
MetricsTrackerhas a TODO for daily token usage aggregation, which would enable timeline visualizations.Current State
File:
codeframe/lib/metrics_tracker.pylines 457-458Expected Behavior
Implementation Requirements
get_usage_by_day()method to MetricsTrackerExample Usage
SQL Query
Acceptance Criteria
Priority
P3 - Advanced: Nice visualization feature, not critical for core functionality.
References