mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
Merge pull request #37361 from sytianhe/litellm_spend_log_timestamps
feat(spend-logs): add lifecycle timestamps
This commit is contained in:
commit
0f19b5b9ab
7 changed files with 34 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
|||
ALTER TABLE "LiteLLM_SpendLogs"
|
||||
ADD COLUMN IF NOT EXISTS "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
ADD COLUMN IF NOT EXISTS "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
|
@ -641,6 +641,8 @@ model LiteLLM_SpendLogs {
|
|||
mcp_namespaced_tool_name String?
|
||||
agent_id String?
|
||||
proxy_server_request Json? @default("{}")
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
updated_at DateTime @default(now()) @updatedAt @map("updated_at")
|
||||
@@index([startTime])
|
||||
@@index([startTime, request_id])
|
||||
@@index([end_user])
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ class LiteLLM_SpendLogs(LiteLLMPydanticObjectBase):
|
|||
requester_ip_address: str | None = None
|
||||
messages: str | list | dict | None
|
||||
response: str | list | dict | None
|
||||
created_at: datetime | None = None
|
||||
updated_at: datetime | None = None
|
||||
|
||||
|
||||
class LiteLLM_ErrorLogs(LiteLLMPydanticObjectBase):
|
||||
|
|
|
|||
|
|
@ -641,6 +641,8 @@ model LiteLLM_SpendLogs {
|
|||
mcp_namespaced_tool_name String?
|
||||
agent_id String?
|
||||
proxy_server_request Json? @default("{}")
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
updated_at DateTime @default(now()) @updatedAt @map("updated_at")
|
||||
@@index([startTime])
|
||||
@@index([startTime, request_id])
|
||||
@@index([end_user])
|
||||
|
|
|
|||
|
|
@ -641,6 +641,8 @@ model LiteLLM_SpendLogs {
|
|||
mcp_namespaced_tool_name String?
|
||||
agent_id String?
|
||||
proxy_server_request Json? @default("{}")
|
||||
created_at DateTime @default(now()) @map("created_at")
|
||||
updated_at DateTime @default(now()) @updatedAt @map("updated_at")
|
||||
@@index([startTime])
|
||||
@@index([startTime, request_id])
|
||||
@@index([end_user])
|
||||
|
|
|
|||
|
|
@ -498,6 +498,25 @@ class TestSpendLogs:
|
|||
assert log.request_id == "r1"
|
||||
assert log.spend == 0.0
|
||||
assert log.cache_hit == "False"
|
||||
assert log.created_at is None
|
||||
assert log.updated_at is None
|
||||
|
||||
def test_spend_logs_parse_database_timestamps(self):
|
||||
created_at = datetime(2026, 8, 18, 12, 0, 0)
|
||||
updated_at = datetime(2026, 8, 18, 12, 5, 0)
|
||||
log = LiteLLM_SpendLogs(
|
||||
request_id="r1",
|
||||
api_key="sk-1",
|
||||
call_type="completion",
|
||||
startTime=None,
|
||||
endTime=None,
|
||||
messages=None,
|
||||
response=None,
|
||||
created_at=created_at,
|
||||
updated_at=updated_at,
|
||||
)
|
||||
assert log.created_at == created_at
|
||||
assert log.updated_at == updated_at
|
||||
|
||||
def test_error_logs_creation(self):
|
||||
log = LiteLLM_ErrorLogs(
|
||||
|
|
|
|||
4
ui/litellm-dashboard/src/lib/http/schema.d.ts
generated
vendored
4
ui/litellm-dashboard/src/lib/http/schema.d.ts
generated
vendored
|
|
@ -27746,6 +27746,8 @@ export interface components {
|
|||
* @default 0
|
||||
*/
|
||||
completion_tokens: number | null;
|
||||
/** Created At */
|
||||
created_at?: string | null;
|
||||
/** Endtime */
|
||||
endTime: string | null;
|
||||
/** Messages */
|
||||
|
|
@ -27789,6 +27791,8 @@ export interface components {
|
|||
* @default 0
|
||||
*/
|
||||
total_tokens: number | null;
|
||||
/** Updated At */
|
||||
updated_at?: string | null;
|
||||
/**
|
||||
* User
|
||||
* @default
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue