mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
feat - get price by end_user
This commit is contained in:
parent
0260addeac
commit
a38d9e35fd
1 changed files with 25 additions and 15 deletions
|
@ -5795,25 +5795,35 @@ async def global_spend_end_users(data: Optional[GlobalEndUsersSpend] = None):
|
||||||
"""
|
"""
|
||||||
Gets the top 100 end-users for a given api key
|
Gets the top 100 end-users for a given api key
|
||||||
"""
|
"""
|
||||||
startTime = datetime.now() - timedelta(days=30)
|
startTime = None
|
||||||
endTime = datetime.now()
|
endTime = None
|
||||||
|
selected_api_key = None
|
||||||
|
if data is not None:
|
||||||
|
startTime = data.startTime
|
||||||
|
endTime = data.endTime
|
||||||
|
selected_api_key = data.api_key
|
||||||
|
|
||||||
|
startTime = startTime or datetime.now() - timedelta(days=30)
|
||||||
|
endTime = endTime or datetime.now()
|
||||||
|
|
||||||
sql_query = """
|
sql_query = """
|
||||||
SELECT
|
SELECT end_user, COUNT(*) AS total_count, SUM(spend) AS total_spend
|
||||||
end_user,
|
FROM "LiteLLM_SpendLogs"
|
||||||
COUNT(*) AS total_count,
|
WHERE "startTime" >= $1::timestamp
|
||||||
SUM(spend) AS total_spend
|
AND "startTime" < $2::timestamp
|
||||||
FROM
|
AND (
|
||||||
"LiteLLM_SpendLogs"
|
CASE
|
||||||
GROUP BY
|
WHEN $3::TEXT IS NULL THEN TRUE
|
||||||
end_user
|
ELSE api_key = $3
|
||||||
WHERE
|
END
|
||||||
"startTime" >= $1 AND "startTime" < $2
|
)
|
||||||
ORDER BY
|
GROUP BY end_user
|
||||||
total_spend DESC
|
ORDER BY total_spend DESC
|
||||||
LIMIT 100
|
LIMIT 100
|
||||||
"""
|
"""
|
||||||
response = await prisma_client.db.query_raw(sql_query, startTime, endTime)
|
response = await prisma_client.db.query_raw(
|
||||||
|
sql_query, startTime, endTime, selected_api_key
|
||||||
|
)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue