Persists structured access logs and serves query APIs for observability data.
- Ensures DuckDB schemas exist and registers the
access_logsSQLModel table - Publishes an ingest service consumed by the access log hook
- Adds
/logsroutes for querying, streaming, and inspecting request history
AnalyticsPluginConfigtoggles collection, retention, and debug logging- Requires the
duckdb_storageplugin to supply the underlying engine - Generate defaults with
python3 scripts/generate_config_from_model.py \ --format toml --plugin analytics --config-class AnalyticsPluginConfig
[plugins.analytics]
# enabled = trueplugin.py: runtime initialization and service registrationingest.py: writes events into DuckDB using SQLModelroutes.py: FastAPI router for analytics and log queries