diff --git a/api/chalicelib/core/sessions.py b/api/chalicelib/core/sessions.py index 1b93b5c89..0388e7d3b 100644 --- a/api/chalicelib/core/sessions.py +++ b/api/chalicelib/core/sessions.py @@ -448,11 +448,11 @@ def search_table_of_individual_issues(data: schemas.SessionsSearchPayloadSchema, full_args["issues_limit_s"] = (data.page - 1) * data.limit full_args["issues_limit_e"] = data.page * data.limit main_query = cur.mogrify(f"""SELECT COUNT(1) AS count, - COALESCE(SUM(session_count), 0) AS count, + COALESCE(SUM(total), 0) AS total, COALESCE(JSONB_AGG(ranked_issues) FILTER ( WHERE rn > %(issues_limit_s)s AND rn <= %(issues_limit_e)s ), '[]'::JSONB) AS values - FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY session_count DESC) AS rn + FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY total DESC) AS rn FROM (SELECT type AS name, context_string AS value, COUNT(DISTINCT session_id) AS total FROM (SELECT session_id {query_part}) AS filtered_sessions @@ -462,7 +462,7 @@ def search_table_of_individual_issues(data: schemas.SessionsSearchPayloadSchema, AND timestamp >= %(startDate)s AND timestamp <= %(endDate)s GROUP BY type, context_string - ORDER BY session_count DESC) AS filtered_issues + ORDER BY total DESC) AS filtered_issues ) AS ranked_issues;""", full_args) logger.debug("--------------------") logger.debug(main_query) diff --git a/api/chalicelib/core/significance.py b/api/chalicelib/core/significance.py index 93520e410..8eeae541c 100644 --- a/api/chalicelib/core/significance.py +++ b/api/chalicelib/core/significance.py @@ -527,7 +527,7 @@ def get_issues(stages, rows, first_stage=None, last_stage=None, drop_only=False) "type": all_issues[issue_id]["issue_type"], "title": helper.get_issue_title(all_issues[issue_id]["issue_type"]), "affected_sessions": affected_sessions[issue_id], - "unaffected_sessions": session_counts[1] - affected_sessions[issue_id], + "unaffected_sessions": session_counts[1] - affected_sessions.get(issue_id, 0), "lost_conversions": lost_conversions, "affected_users": affected_users_dict[issue_id], "conversion_impact": round(r * 100), diff --git a/ee/scripts/schema/db/init_dbs/postgresql/1.21.0/1.21.0.sql b/ee/scripts/schema/db/init_dbs/postgresql/1.21.0/1.21.0.sql index 6b38d333c..a64780606 100644 --- a/ee/scripts/schema/db/init_dbs/postgresql/1.21.0/1.21.0.sql +++ b/ee/scripts/schema/db/init_dbs/postgresql/1.21.0/1.21.0.sql @@ -43,6 +43,39 @@ ALTER TABLE IF EXISTS public.dashboards ALTER COLUMN user_id DROP NOT NULL, ALTER COLUMN project_id SET NOT NULL; + +DELETE +FROM public.metrics +WHERE metric_of IN ('avgCpu', 'avgDomContentLoaded', + 'avgDomContentLoadStart', 'avgFirstContentfulPixel', + 'avgFirstPaint', + 'avgFps', 'avgImageLoadTime', + 'avgPageLoadTime', 'avgRequestLoadTime', + 'avgResponseTime', 'avgSessionDuration', + 'avgTillFirstByte', 'avgTimeToRender') + or metric_of IN ('timeToRender', 'cpu','crashes' + 'fps', 'avgTimeToInteractive', + 'avgPagesResponseTime', 'avgUsedJsHeapSize', + 'memoryConsumption', 'pagesResponseTime', + 'pagesDomBuildtime', 'pagesResponseTimeDistribution', + 'resourcesVsVisuallyComplete', 'sessionsPerBrowser', + 'slowestDomains', 'speedLocation', 'impactedSessionsBySlowPages', + 'avgPagesDomBuildtime') + or metric_of IN ('missingResources', 'resourcesLoadingTime', + 'slowestResources', 'callsErrors','resourceTypeVsResponseEnd', + 'resourcesCountByType'); + +DELETE +FROM public.alerts +WHERE query ->> 'left' IN ('performance.image_load_time.average', 'performance.request_load_time.average', + 'resources.load_time.average', 'resources.missing.count', + 'errors.4xx_5xx.count', 'errors.4xx.count', + 'errors.5xx.count', 'errors.javascript.impacted_sessions.count'); + +DROP TABLE IF EXISTS events.resources; +DROP TYPE IF EXISTS events.resource_type; +DROP TYPE IF EXISTS events.resource_method; + COMMIT; \elif :is_next