Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3d63716

Browse files
committed
Revert "feat(coderd/database): rewrite GetTemplateInsightsByTemplate to use template_usage_stats"
This reverts commit 3086721.
1 parent c062e80 commit 3d63716

File tree

2 files changed

+48
-70
lines changed

2 files changed

+48
-70
lines changed

coderd/database/queries.sql.go

Lines changed: 26 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/insights.sql

Lines changed: 22 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -143,40 +143,31 @@ FROM
143143
insights;
144144

145145
-- name: GetTemplateInsightsByTemplate :many
146-
WITH
147-
-- The purpose of this CTE is to flatten the data so that a user is
148-
-- only counted once per interval/template.
149-
insights AS (
150-
SELECT
151-
template_id,
152-
user_id,
153-
-- See motivation in GetTemplateInsights for LEAST(SUM(n), 30).
154-
LEAST(SUM(usage_mins), 30) AS usage_mins,
155-
LEAST(SUM(ssh_mins), 30) AS ssh_mins,
156-
LEAST(SUM(sftp_mins), 30) AS sftp_mins,
157-
LEAST(SUM(reconnecting_pty_mins), 30) AS reconnecting_pty_mins,
158-
LEAST(SUM(vscode_mins), 30) AS vscode_mins,
159-
LEAST(SUM(jetbrains_mins), 30) AS jetbrains_mins
160-
FROM
161-
template_usage_stats
162-
WHERE
163-
start_time >= @start_time::timestamptz
164-
AND end_time <= @end_time::timestamptz
165-
GROUP BY
166-
start_time, template_id, user_id
167-
)
146+
WITH agent_stats_by_interval_and_user AS (
147+
SELECT
148+
date_trunc('minute', was.created_at) AS created_at_trunc,
149+
was.template_id,
150+
was.user_id,
151+
CASE WHEN SUM(was.session_count_vscode) > 0 THEN 60 ELSE 0 END AS usage_vscode_seconds,
152+
CASE WHEN SUM(was.session_count_jetbrains) > 0 THEN 60 ELSE 0 END AS usage_jetbrains_seconds,
153+
CASE WHEN SUM(was.session_count_reconnecting_pty) > 0 THEN 60 ELSE 0 END AS usage_reconnecting_pty_seconds,
154+
CASE WHEN SUM(was.session_count_ssh) > 0 THEN 60 ELSE 0 END AS usage_ssh_seconds
155+
FROM workspace_agent_stats was
156+
WHERE
157+
was.created_at >= @start_time::timestamptz
158+
AND was.created_at < @end_time::timestamptz
159+
AND was.connection_count > 0
160+
GROUP BY created_at_trunc, was.template_id, was.user_id
161+
)
168162

169163
SELECT
170164
template_id,
171-
COUNT(DISTINCT user_id) AS active_users,
172-
(SUM(usage_mins) * 60)::bigint AS usage_total_seconds, -- Includes app usage.
173-
(SUM(ssh_mins) * 60)::bigint AS usage_ssh_seconds,
174-
(SUM(sftp_mins) * 60)::bigint AS usage_sftp_seconds,
175-
(SUM(reconnecting_pty_mins) * 60)::bigint AS usage_reconnecting_pty_seconds,
176-
(SUM(vscode_mins) * 60)::bigint AS usage_vscode_seconds,
177-
(SUM(jetbrains_mins) * 60)::bigint AS usage_jetbrains_seconds
178-
FROM
179-
insights
165+
COALESCE(COUNT(DISTINCT user_id))::bigint AS active_users,
166+
COALESCE(SUM(usage_vscode_seconds), 0)::bigint AS usage_vscode_seconds,
167+
COALESCE(SUM(usage_jetbrains_seconds), 0)::bigint AS usage_jetbrains_seconds,
168+
COALESCE(SUM(usage_reconnecting_pty_seconds), 0)::bigint AS usage_reconnecting_pty_seconds,
169+
COALESCE(SUM(usage_ssh_seconds), 0)::bigint AS usage_ssh_seconds
170+
FROM agent_stats_by_interval_and_user
180171
GROUP BY template_id;
181172

182173
-- name: GetTemplateAppInsights :many

0 commit comments

Comments
 (0)