* fix(chalice): fixed Math-operators validation
refactor(chalice): search for sessions that have events for heatmaps

* refactor(chalice): search for sessions that have at least 1 location event for heatmaps

* fix(chalice): fixed Math-operators validation
refactor(chalice): search for sessions that have events for heatmaps

* refactor(chalice): search for sessions that have at least 1 location event for heatmaps

* feat(chalice): autocomplete return top 10 with stats

* fix(chalice): fixed autocomplete top 10 meta-filters

* fix(chalice): fixed path-analysis issues list
fix(chalice): fixed funnel empty sessions
refactor(DB): EE changes
This commit is contained in:
Kraiem Taha Yassine 2024-11-05 15:10:41 +01:00 committed by GitHub
parent d2697061e9
commit 32813bea1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 37 additions and 4 deletions

View file

@ -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)

View file

@ -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),

View file

@ -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