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

Skip to content

Commit 29719a4

Browse files
committed
The query... works?!?
1 parent 28d6db5 commit 29719a4

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

coderd/database/queries.sql.go

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

coderd/database/queries/workspaceagentstats.sql

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,18 @@ DELETE FROM workspace_agent_stats WHERE created_at < NOW() - INTERVAL '30 days';
5252
-- name: GetDeploymentWorkspaceAgentStats :one
5353
WITH agent_stats AS (
5454
SELECT * FROM workspace_agent_stats
55-
WHERE created_at > $1
55+
WHERE workspace_agent_stats.created_at > $1
5656
), latest_agent_stats AS (
57-
SELECT * FROM agent_stats GROUP BY agent_id ORDER BY created_at
57+
SELECT *, ROW_NUMBER() OVER(PARTITION BY id ORDER BY created_at DESC) AS rn
58+
FROM agent_stats
5859
)
5960
SELECT
60-
SUM(latest_agent_stats.session_count_vscode) AS session_count_vscode,
61-
SUM(latest_agent_stats.session_count_ssh) AS session_count_ssh,
62-
SUM(latest_agent_stats.session_count_jetbrains) AS session_count_jetbrains,
63-
SUM(latest_agent_stats.session_count_reconnecting_pty) AS session_count_reconnecting_pty,
64-
SUM(agent_stats.rx_bytes) AS workspace_rx_bytes,
65-
SUM(agent_stats.tx_bytes) AS workspace_tx_bytes,
61+
coalesce(SUM(latest_agent_stats.session_count_vscode), 0)::bigint AS session_count_vscode,
62+
coalesce(SUM(latest_agent_stats.session_count_ssh), 0)::bigint AS session_count_ssh,
63+
coalesce(SUM(latest_agent_stats.session_count_jetbrains), 0)::bigint AS session_count_jetbrains,
64+
coalesce(SUM(latest_agent_stats.session_count_reconnecting_pty), 0)::bigint AS session_count_reconnecting_pty,
65+
coalesce(SUM(agent_stats.rx_bytes), 0)::bigint AS workspace_rx_bytes,
66+
coalesce(SUM(agent_stats.tx_bytes), 0)::bigint AS workspace_tx_bytes,
6667
coalesce((PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY agent_stats.connection_median_latency_ms)), -1)::FLOAT AS workspace_connection_latency_50,
6768
coalesce((PERCENTILE_DISC(0.95) WITHIN GROUP(ORDER BY agent_stats.connection_median_latency_ms)), -1)::FLOAT AS workspace_connection_latency_95
68-
FROM agent_stats JOIN latest_agent_stats ON agent_stats.agent_id = latest_agent_stats.agent_id;
69+
FROM agent_stats JOIN latest_agent_stats ON agent_stats.agent_id = latest_agent_stats.agent_id AND rn = 1;

0 commit comments

Comments
 (0)