Skip to content
This repository was archived by the owner on May 25, 2026. It is now read-only.

Commit f1b460d

Browse files
committed
Add session counts to per-user statistics endpoint
1 parent c1eb2a3 commit f1b460d

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

api/simqueue/data_models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,3 +457,4 @@ class Histogram(BaseModel):
457457
class UserStatistics(BaseModel):
458458
user: str
459459
jobs: int
460+
sessions: int

api/simqueue/resources/statistics.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,21 @@ async def resource_usage(
320320
size=100000,
321321
fields=["user_id"],
322322
)
323+
sessions = await db.query_sessions(
324+
status=["finished", "error"],
325+
date_range_start=start,
326+
date_range_end=end,
327+
size=100000,
328+
fields=["user_id"],
329+
)
323330
jobs_per_user = Counter(job["user_id"] for job in jobs)
331+
sessions_per_user = Counter(ses["user_id"] for ses in sessions)
332+
all_users = set(jobs_per_user).update(sessions_per_user)
324333
return [
325-
UserStatistics(user=user_name, jobs=count) for user_name, count in jobs_per_user.items()
334+
UserStatistics(
335+
user=user_name,
336+
jobs=jobs_per_user.get(user_name, 0),
337+
sessions=sessions_per_user.get(user_name, 0),
338+
)
339+
for user_name in all_users
326340
]

0 commit comments

Comments
 (0)