Add observability module: Spring AI built-in meters and spans, cost per endpoint from token usage, Prometheus and Grafana dashboard

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JXVi2GMQ7bR5EmbUFdDj7N
This commit is contained in:
Claude
2026-10-09 06:39:21 +00:00
parent 65f580c5bc
commit cc2a1b8bcb
45 changed files with 1731 additions and 0 deletions
@@ -0,0 +1,26 @@
# Prometheus metric families this app exposes at /actuator/prometheus (TYPE lines only)
# TYPE app_ai_cost_usd_total counter
# TYPE app_ai_tokens_total counter
# TYPE app_ai_unpriced_total counter
# TYPE gen_ai_client_operation_active_seconds histogram
# TYPE gen_ai_client_operation_active_seconds_gcount gauge
# TYPE gen_ai_client_operation_active_seconds_gsum gauge
# TYPE gen_ai_client_operation_active_seconds_max gauge
# TYPE gen_ai_client_operation_seconds histogram
# TYPE gen_ai_client_operation_seconds_max gauge
# TYPE gen_ai_client_token_usage_total counter
# TYPE spring_ai_advisor_active_seconds summary
# TYPE spring_ai_advisor_active_seconds_max gauge
# TYPE spring_ai_advisor_seconds summary
# TYPE spring_ai_advisor_seconds_max gauge
# TYPE spring_ai_chat_client_active_seconds histogram
# TYPE spring_ai_chat_client_active_seconds_gcount gauge
# TYPE spring_ai_chat_client_active_seconds_gsum gauge
# TYPE spring_ai_chat_client_active_seconds_max gauge
# TYPE spring_ai_chat_client_seconds histogram
# TYPE spring_ai_chat_client_seconds_max gauge
# TYPE spring_ai_tool_active_seconds summary
# TYPE spring_ai_tool_active_seconds_max gauge
# TYPE spring_ai_tool_seconds summary
# TYPE spring_ai_tool_seconds_max gauge