Skip to content

Commit 2ac8855

Browse files
committed
feat(coderd/database): rewrite GetTemplateInsightsByTemplate to use template_usage_stats
1 parent b10b9dd commit 2ac8855

File tree

2 files changed

+32
-50
lines changed

2 files changed

+32
-50
lines changed

coderd/database/queries.sql.go

+20-27
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/insights.sql

+12-23
Original file line numberDiff line numberDiff line change
@@ -162,31 +162,20 @@ FROM
162162
insights;
163163

164164
-- name: GetTemplateInsightsByTemplate :many
165-
WITH agent_stats_by_interval_and_user AS (
166-
SELECT
167-
date_trunc('minute', was.created_at) AS created_at_trunc,
168-
was.template_id,
169-
was.user_id,
170-
CASE WHEN SUM(was.session_count_vscode) > 0 THEN 60 ELSE 0 END AS usage_vscode_seconds,
171-
CASE WHEN SUM(was.session_count_jetbrains) > 0 THEN 60 ELSE 0 END AS usage_jetbrains_seconds,
172-
CASE WHEN SUM(was.session_count_reconnecting_pty) > 0 THEN 60 ELSE 0 END AS usage_reconnecting_pty_seconds,
173-
CASE WHEN SUM(was.session_count_ssh) > 0 THEN 60 ELSE 0 END AS usage_ssh_seconds
174-
FROM workspace_agent_stats was
175-
WHERE
176-
was.created_at >= @start_time::timestamptz
177-
AND was.created_at < @end_time::timestamptz
178-
AND was.connection_count > 0
179-
GROUP BY created_at_trunc, was.template_id, was.user_id
180-
)
181-
182165
SELECT
183166
template_id,
184-
COALESCE(COUNT(DISTINCT user_id))::bigint AS active_users,
185-
COALESCE(SUM(usage_vscode_seconds), 0)::bigint AS usage_vscode_seconds,
186-
COALESCE(SUM(usage_jetbrains_seconds), 0)::bigint AS usage_jetbrains_seconds,
187-
COALESCE(SUM(usage_reconnecting_pty_seconds), 0)::bigint AS usage_reconnecting_pty_seconds,
188-
COALESCE(SUM(usage_ssh_seconds), 0)::bigint AS usage_ssh_seconds
189-
FROM agent_stats_by_interval_and_user
167+
COUNT(DISTINCT user_id) AS active_users,
168+
(SUM(usage_mins) * 60)::bigint AS usage_total_seconds, -- Includes app usage.
169+
(SUM(ssh_mins) * 60)::bigint AS usage_ssh_seconds,
170+
(SUM(sftp_mins) * 60)::bigint AS usage_sftp_seconds,
171+
(SUM(reconnecting_pty_mins) * 60)::bigint AS usage_reconnecting_pty_seconds,
172+
(SUM(vscode_mins) * 60)::bigint AS usage_vscode_seconds,
173+
(SUM(jetbrains_mins) * 60)::bigint AS usage_jetbrains_seconds
174+
FROM
175+
template_usage_stats
176+
WHERE
177+
start_time >= @start_time::timestamptz
178+
AND end_time <= @end_time::timestamptz
190179
GROUP BY template_id;
191180

192181
-- name: GetTemplateAppInsights :many

0 commit comments

Comments
 (0)