#30228 [Bug]: api_key_alias is None on Prometheus metrics for BudgetExceededError 429s
## What happened?
When a request is rejected with `BudgetExceededError` (budget_limits enforcement), the `litellm_proxy_failed_requests_metric` Prometheus counter has `api_key_alias="None"` instead of the actual key alias. Other fields like `hashed_api_key` are populated correctly.
This makes it impossible to build Datadog dashboards that show budget 429s broken down by human-readable key name. The alias is available on non-budget errors (e.g., `ProxyModelNotFoundError`), so this is specific to the budget enforcement path.
## Root Cause (suspected)
The `BudgetExceededError` is raised in `user_api_key_auth.py` (lines 2071/2087) during `_run_centralized_common_checks` / `_reserve_budget_after_common_checks`. At that point in the auth flow, the key alias may not yet be attached to the metrics context / logging object. The `hashed_api_key` is available because it's resolved earlier, but `api_key_alias` hasn't been propagated to the error metric emission path.
## Evidence
Raw Prometheus output from `/metrics/` on v1.87.1:
``` litellm_proxy_failed_requests_metric_total{api_key_alias="None",exception_class="BudgetExceededError",exception_status="429",hashed_api_key="0cdeda1505663a5…