From ae0ee622bbfc295febda6d3c6188ef778ac0a111 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Tue, 26 Mar 2024 17:21:05 +0200 Subject: [PATCH] fix(coderd/database): improve data exclusion in `UpsertTemplateUsageStats` (#12764) The PostgreSQL query analyzer wasn't able to eliminate the agent stats without re-introducing this filter. Before: https://explain.dalibo.com/plan/21h7gb4f4bef391g After: https://explain.dalibo.com/plan/721ec1cccee91egc --- coderd/database/queries.sql.go | 4 +++- coderd/database/queries/insights.sql | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/coderd/database/queries.sql.go b/coderd/database/queries.sql.go index 72a75f53b3..a0651a92af 100644 --- a/coderd/database/queries.sql.go +++ b/coderd/database/queries.sql.go @@ -2760,7 +2760,9 @@ WITH JOIN workspace_agent_stats AS was ON - date_trunc('minute', was.created_at) = mb.minute_bucket + was.created_at >= (SELECT t FROM latest_start) + AND was.created_at < NOW() + AND date_trunc('minute', was.created_at) = mb.minute_bucket AND was.template_id = mb.template_id AND was.user_id = mb.user_id AND was.connection_median_latency_ms >= 0 diff --git a/coderd/database/queries/insights.sql b/coderd/database/queries/insights.sql index 08960afcb4..01bccdc52a 100644 --- a/coderd/database/queries/insights.sql +++ b/coderd/database/queries/insights.sql @@ -599,7 +599,9 @@ WITH JOIN workspace_agent_stats AS was ON - date_trunc('minute', was.created_at) = mb.minute_bucket + was.created_at >= (SELECT t FROM latest_start) + AND was.created_at < NOW() + AND date_trunc('minute', was.created_at) = mb.minute_bucket AND was.template_id = mb.template_id AND was.user_id = mb.user_id AND was.connection_median_latency_ms >= 0