From 7dd902987bd251f0e261c52833fb5232b89fd557 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Fri, 7 Oct 2022 17:42:33 +0200 Subject: [PATCH] feat(chalice): get affected users by errors for the past 30days feat(chalice): get affected sessions by errors for the past 30days --- api/chalicelib/core/errors.py | 9 ++++++++- ee/api/chalicelib/core/errors.py | 15 +++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/api/chalicelib/core/errors.py b/api/chalicelib/core/errors.py index 372de1ae4..059e96640 100644 --- a/api/chalicelib/core/errors.py +++ b/api/chalicelib/core/errors.py @@ -83,6 +83,13 @@ def __process_tags(row): def get_details(project_id, error_id, user_id, **data): pg_sub_query24 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size24") pg_sub_query24.append("error_id = %(error_id)s") + pg_sub_query30_err = __get_basic_constraints(time_constraint=True, chart=False, startTime_arg_name="startDate30", + endTime_arg_name="endDate30", project_key="errors.project_id") + pg_sub_query30_err.append("sessions.project_id = %(project_id)s") + pg_sub_query30_err.append("sessions.start_ts >= %(startDate30)s") + pg_sub_query30_err.append("sessions.start_ts <= %(endDate30)s") + pg_sub_query30_err.append("error_id = %(error_id)s") + pg_sub_query30_err.append("source ='js_exception'") pg_sub_query30 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size30") pg_sub_query30.append("error_id = %(error_id)s") pg_basic_query = __get_basic_constraints(time_constraint=False) @@ -131,7 +138,7 @@ def get_details(project_id, error_id, user_id, **data): FROM public.errors INNER JOIN events.errors AS s_errors USING (error_id) INNER JOIN public.sessions USING (session_id) - WHERE error_id = %(error_id)s + WHERE {" AND ".join(pg_sub_query30_err)} GROUP BY error_id, name, message) AS details INNER JOIN (SELECT error_id, MAX(timestamp) AS last_occurrence, diff --git a/ee/api/chalicelib/core/errors.py b/ee/api/chalicelib/core/errors.py index a1db0c798..a629926ab 100644 --- a/ee/api/chalicelib/core/errors.py +++ b/ee/api/chalicelib/core/errors.py @@ -90,6 +90,13 @@ def __process_tags(row): def get_details(project_id, error_id, user_id, **data): pg_sub_query24 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size24") pg_sub_query24.append("error_id = %(error_id)s") + pg_sub_query30_err = __get_basic_constraints(time_constraint=True, chart=False, startTime_arg_name="startDate30", + endTime_arg_name="endDate30",project_key="errors.project_id") + pg_sub_query30_err.append("sessions.project_id = %(project_id)s") + pg_sub_query30_err.append("sessions.start_ts >= %(startDate30)s") + pg_sub_query30_err.append("sessions.start_ts <= %(endDate30)s") + pg_sub_query30_err.append("error_id = %(error_id)s") + pg_sub_query30_err.append("source ='js_exception'") pg_sub_query30 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size30") pg_sub_query30.append("error_id = %(error_id)s") pg_basic_query = __get_basic_constraints(time_constraint=False) @@ -138,7 +145,7 @@ def get_details(project_id, error_id, user_id, **data): FROM public.errors INNER JOIN events.errors AS s_errors USING (error_id) INNER JOIN public.sessions USING (session_id) - WHERE error_id = %(error_id)s + WHERE {" AND ".join(pg_sub_query30_err)} GROUP BY error_id, name, message) AS details INNER JOIN (SELECT error_id, MAX(timestamp) AS last_occurrence, @@ -248,9 +255,9 @@ def get_details(project_id, error_id, user_id, **data): WHERE {" AND ".join(pg_basic_query)}) AS raw_tags(tags) ON (TRUE); """ - # print("--------------------") - # print(cur.mogrify(main_pg_query, params)) - # print("--------------------") + print("--------------------") + print(cur.mogrify(main_pg_query, params)) + print("--------------------") cur.execute(cur.mogrify(main_pg_query, params)) row = cur.fetchone() if row is None: