fix(spend_management_endpoints.py): add end user filtering

This commit is contained in:
Krrish Dholakia 2025-09-13 18:15:34 -07:00
parent dc4b09e26e
commit bb5e71447d
2 changed files with 10 additions and 4 deletions

View file

@ -15,7 +15,7 @@ DEFAULT_SQS_FLUSH_INTERVAL_SECONDS = int(
os.getenv("DEFAULT_SQS_FLUSH_INTERVAL_SECONDS", 10)
)
DEFAULT_NUM_WORKERS_LITELLM_PROXY = int(
os.getenv("DEFAULT_NUM_WORKERS_LITELLM_PROXY", 4)
os.getenv("DEFAULT_NUM_WORKERS_LITELLM_PROXY", 1)
)
DEFAULT_SQS_BATCH_SIZE = int(os.getenv("DEFAULT_SQS_BATCH_SIZE", 512))
SQS_SEND_MESSAGE_ACTION = "SendMessage"

View file

@ -10,7 +10,6 @@ from fastapi import APIRouter, Depends, HTTPException, status
import litellm
from litellm._logging import verbose_proxy_logger
from litellm.router_strategy.budget_limiter import RouterBudgetLimiting
from litellm.proxy._types import *
from litellm.proxy._types import ProviderBudgetResponse, ProviderBudgetResponseObject
from litellm.proxy.auth.user_api_key_auth import user_api_key_auth
@ -18,6 +17,7 @@ from litellm.proxy.spend_tracking.spend_tracking_utils import (
get_spend_by_team_and_customer,
)
from litellm.proxy.utils import handle_exception_on_proxy
from litellm.router_strategy.budget_limiter import RouterBudgetLimiting
if TYPE_CHECKING:
from litellm.proxy.proxy_server import PrismaClient
@ -1663,6 +1663,9 @@ async def ui_view_spend_logs( # noqa: PLR0915
key_alias: Optional[str] = fastapi.Query(
default=None, description="Filter logs by key alias"
),
end_user: Optional[str] = fastapi.Query(
default=None, description="Filter logs by end user"
),
):
"""
View spend logs for UI with pagination support
@ -1730,13 +1733,16 @@ async def ui_view_spend_logs( # noqa: PLR0915
if model is not None:
where_conditions["model"] = model
if key_alias is not None:
where_conditions["metadata"] = {
"path": ["user_api_key_alias"],
"string_contains": key_alias
"string_contains": key_alias,
}
if end_user is not None:
where_conditions["end_user"] = end_user
if min_spend is not None or max_spend is not None:
where_conditions["spend"] = {}
if min_spend is not None: