From 506088237ccc5f96fa0fee30a19a4acb4b655bf3 Mon Sep 17 00:00:00 2001 From: Valesca Moura Date: Mon, 22 Jun 2026 18:04:23 -0400 Subject: [PATCH] fixing mongodb task duration units --- src/flowcept/webservice/services/stats.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/flowcept/webservice/services/stats.py b/src/flowcept/webservice/services/stats.py index 827a1da9..0986c2f1 100644 --- a/src/flowcept/webservice/services/stats.py +++ b/src/flowcept/webservice/services/stats.py @@ -91,6 +91,7 @@ def task_summary(db: DBAPI, filter: Dict[str, Any]) -> Dict[str, Any]: def _task_summary_mongo(dao, filter: Dict[str, Any]) -> Dict[str, Any]: match = [{"$match": filter}] if filter else [] + duration_seconds = {"$divide": [{"$subtract": ["$ended_at", "$started_at"]}, 1000]} rows = ( dao.raw_pipeline( match @@ -99,10 +100,10 @@ def _task_summary_mongo(dao, filter: Dict[str, Any]) -> Dict[str, Any]: "$group": { "_id": {"activity_id": "$activity_id", "status": "$status"}, "count": {"$sum": 1}, - "avg_duration": {"$avg": {"$subtract": ["$ended_at", "$started_at"]}}, - "min_duration": {"$min": {"$subtract": ["$ended_at", "$started_at"]}}, - "max_duration": {"$max": {"$subtract": ["$ended_at", "$started_at"]}}, - "sum_duration": {"$sum": {"$subtract": ["$ended_at", "$started_at"]}}, + "avg_duration": {"$avg": duration_seconds}, + "min_duration": {"$min": duration_seconds}, + "max_duration": {"$max": duration_seconds}, + "sum_duration": {"$sum": duration_seconds}, "min_started_at": {"$min": "$started_at"}, "max_ended_at": {"$max": "$ended_at"}, }