Skip to content

Commit 2269855

Browse files
committed
fixes + test improvements
1 parent 7a0133f commit 2269855

File tree

7 files changed

+528
-271
lines changed

7 files changed

+528
-271
lines changed

coderd/database/dbmem/dbmem.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,8 +2460,14 @@ func (q *FakeQuerier) GetDeploymentWorkspaceAgentUsageStats(_ context.Context, c
24602460
val, ok := sessions[agentStat.AgentID]
24612461
if !ok {
24622462
sessions[agentStat.AgentID] = agentStat
2463-
} else if val.CreatedAt.Before(agentStat.CreatedAt) {
2463+
} else if agentStat.CreatedAt.After(val.CreatedAt) {
24642464
sessions[agentStat.AgentID] = agentStat
2465+
} else if agentStat.CreatedAt.Truncate(time.Minute).Equal(val.CreatedAt.Truncate(time.Minute)) {
2466+
val.SessionCountVSCode += agentStat.SessionCountVSCode
2467+
val.SessionCountJetBrains += agentStat.SessionCountJetBrains
2468+
val.SessionCountReconnectingPTY += agentStat.SessionCountReconnectingPTY
2469+
val.SessionCountSSH += agentStat.SessionCountSSH
2470+
sessions[agentStat.AgentID] = val
24652471
}
24662472
}
24672473
}
@@ -5752,6 +5758,7 @@ func (q *FakeQuerier) GetWorkspaceAgentUsageStats(_ context.Context, createdAt t
57525758
val.SessionCountJetBrains += agentStat.SessionCountJetBrains
57535759
val.SessionCountReconnectingPTY += agentStat.SessionCountReconnectingPTY
57545760
val.SessionCountSSH += agentStat.SessionCountSSH
5761+
minuteBuckets[key] = val
57555762
} else {
57565763
minuteBuckets[key] = bucketRow{
57575764
GetWorkspaceAgentUsageStatsRow: database.GetWorkspaceAgentUsageStatsRow{
@@ -5815,12 +5822,19 @@ func (q *FakeQuerier) GetWorkspaceAgentUsageStatsAndLabels(_ context.Context, cr
58155822
if agentStat.CreatedAt.After(createdAt) {
58165823
val, ok := latestAgentStats[key]
58175824
if !ok {
5818-
latestAgentStats[key] = agentStat
5825+
val = agentStat
5826+
val.SessionCountJetBrains = 0
5827+
val.SessionCountReconnectingPTY = 0
5828+
val.SessionCountSSH = 0
5829+
val.SessionCountVSCode = 0
58195830
} else {
58205831
val.RxBytes += agentStat.RxBytes
58215832
val.TxBytes += agentStat.TxBytes
5822-
latestAgentStats[key] = val
58235833
}
5834+
if agentStat.ConnectionMedianLatencyMS > maxConnMedianLatency {
5835+
val.ConnectionMedianLatencyMS = agentStat.ConnectionMedianLatencyMS
5836+
}
5837+
latestAgentStats[key] = val
58245838
}
58255839
// WHERE usage = true AND created_at > now() - '1 minute'::interval
58265840
// GROUP BY user_id, agent_id, workspace_id
@@ -5837,20 +5851,6 @@ func (q *FakeQuerier) GetWorkspaceAgentUsageStatsAndLabels(_ context.Context, cr
58375851
latestAgentStats[key] = val
58385852
}
58395853
}
5840-
// SELECT
5841-
// agent_id,
5842-
// coalesce(MAX(connection_median_latency_ms), 0)::float AS connection_median_latency_ms
5843-
// FROM workspace_agent_stats
5844-
// GROUP BY user_id, agent_id, workspace_id
5845-
if agentStat.ConnectionMedianLatencyMS > maxConnMedianLatency {
5846-
val, ok := latestAgentStats[key]
5847-
if !ok {
5848-
latestAgentStats[key] = agentStat
5849-
} else {
5850-
val.ConnectionMedianLatencyMS = agentStat.ConnectionMedianLatencyMS
5851-
latestAgentStats[key] = val
5852-
}
5853-
}
58545854
}
58555855

58565856
stats := make([]database.GetWorkspaceAgentUsageStatsAndLabelsRow, 0, len(latestAgentStats))

coderd/database/querier.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)