This commit is contained in:
ajac-zero
2026-02-21 22:26:05 -06:00
parent 52aa8bfe0d
commit ffcb2f4b90

View File

@@ -417,6 +417,8 @@ class FirestoreSessionService(BaseSessionService):
if event.partial: if event.partial:
return event return event
t0 = time.monotonic()
app_name = session.app_name app_name = session.app_name
user_id = session.user_id user_id = session.user_id
session_id = session.id session_id = session.id
@@ -463,6 +465,19 @@ class FirestoreSessionService(BaseSessionService):
else: else:
await session_ref.update({"last_update_time": event.timestamp}) await session_ref.update({"last_update_time": event.timestamp})
# Log token usage
if event.usage_metadata:
meta = event.usage_metadata
logger.info(
"Token usage for session %s event %s: "
"prompt=%s, candidates=%s, total=%s",
session_id,
event.id,
meta.prompt_token_count,
meta.candidates_token_count,
meta.total_token_count,
)
# Trigger compaction if total token count exceeds threshold # Trigger compaction if total token count exceeds threshold
if ( if (
self._compaction_threshold is not None self._compaction_threshold is not None
@@ -471,6 +486,21 @@ class FirestoreSessionService(BaseSessionService):
and event.usage_metadata.total_token_count and event.usage_metadata.total_token_count
>= self._compaction_threshold >= self._compaction_threshold
): ):
logger.info(
"Compaction triggered for session %s: "
"total_token_count=%d >= threshold=%d",
session_id,
event.usage_metadata.total_token_count,
self._compaction_threshold,
)
await self._compact_session(session) await self._compact_session(session)
elapsed = time.monotonic() - t0
logger.info(
"append_event completed for session %s event %s in %.3fs",
session_id,
event.id,
elapsed,
)
return event return event