ccproxy.observability.stats_printer¶
ccproxy.observability.stats_printer
¶
Stats collector and printer for periodic metrics summary.
This module provides functionality to collect and print periodic statistics from the observability system, including Prometheus metrics and DuckDB storage.
StatsSnapshot
dataclass
¶
StatsSnapshot(
timestamp,
requests_total,
requests_last_minute,
avg_response_time_ms,
avg_response_time_last_minute_ms,
tokens_input_total,
tokens_output_total,
tokens_input_last_minute,
tokens_output_last_minute,
cost_total_usd,
cost_last_minute_usd,
errors_total,
errors_last_minute,
active_requests,
top_model,
top_model_percentage,
)
Snapshot of current statistics.
StatsCollector
¶
Collects and formats metrics statistics for periodic printing.
Integrates with both Prometheus metrics and DuckDB storage to provide comprehensive statistics about the API performance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
settings
|
ObservabilitySettings
|
Observability configuration settings |
required |
metrics_instance
|
Any | None
|
Prometheus metrics instance |
None
|
storage_instance
|
Any | None
|
DuckDB storage instance |
None
|
Source code in ccproxy/observability/stats_printer.py
collect_stats
async
¶
Collect current statistics from all available sources.
Returns:
Type | Description |
---|---|
StatsSnapshot
|
StatsSnapshot with current metrics |
Source code in ccproxy/observability/stats_printer.py
format_stats
¶
Format stats snapshot for display.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
snapshot
|
StatsSnapshot
|
Stats snapshot to format |
required |
Returns:
Type | Description |
---|---|
str
|
Formatted stats string |
Source code in ccproxy/observability/stats_printer.py
print_stats
async
¶
Collect and print current statistics.
Source code in ccproxy/observability/stats_printer.py
get_stats_collector
¶
Get or create global stats collector instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
settings
|
ObservabilitySettings | None
|
Observability settings |
None
|
metrics_instance
|
Any | None
|
Metrics instance for dependency injection |
None
|
storage_instance
|
Any | None
|
Storage instance for dependency injection |
None
|
Returns:
Type | Description |
---|---|
StatsCollector
|
StatsCollector instance |