Skip to content

Commit f1b460d

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

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

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)