Skip to content

Commit 6c5a560

Browse files
committed
Fix prom tests
1 parent aafd29e commit 6c5a560

File tree

6 files changed

+33
-8
lines changed

6 files changed

+33
-8
lines changed

agent/agent_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import (
4646
"cdr.dev/slog"
4747
"cdr.dev/slog/sloggers/sloghuman"
4848
"cdr.dev/slog/sloggers/slogtest"
49+
4950
"github.com/coder/coder/v2/agent"
5051
"github.com/coder/coder/v2/agent/agentproc"
5152
"github.com/coder/coder/v2/agent/agentproc/agentproctest"
@@ -2235,6 +2236,17 @@ func TestAgent_Metrics_SSH(t *testing.T) {
22352236
Type: agentsdk.AgentMetricTypeCounter,
22362237
Value: 0,
22372238
},
2239+
{
2240+
Name: "coderd_agentstats_startup_script_s",
2241+
Type: agentsdk.AgentMetricTypeGauge,
2242+
Value: 0,
2243+
Labels: []agentsdk.AgentMetricLabel{
2244+
{
2245+
Name: "success",
2246+
Value: "true",
2247+
},
2248+
},
2249+
},
22382250
}
22392251

22402252
var actual []*promgo.MetricFamily

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"golang.org/x/xerrors"
1414

1515
"cdr.dev/slog"
16+
1617
"github.com/coder/coder/v2/coderd/coderdtest"
1718
"github.com/coder/coder/v2/coderd/database"
1819
"github.com/coder/coder/v2/coderd/database/dbauthz"
@@ -1063,7 +1064,10 @@ func (s *MethodTestSuite) TestWorkspace() {
10631064
check.Args(ws.ID).Asserts(ws, rbac.ActionRead).Returns(b)
10641065
}))
10651066
s.Run("GetWorkspaceAgentByID", s.Subtest(func(db database.Store, check *expects) {
1066-
ws := dbgen.Workspace(s.T(), db, database.Workspace{})
1067+
tpl := dbgen.Template(s.T(), db, database.Template{})
1068+
ws := dbgen.Workspace(s.T(), db, database.Workspace{
1069+
TemplateID: tpl.ID,
1070+
})
10671071
build := dbgen.WorkspaceBuild(s.T(), db, database.WorkspaceBuild{WorkspaceID: ws.ID, JobID: uuid.New()})
10681072
res := dbgen.WorkspaceResource(s.T(), db, database.WorkspaceResource{JobID: build.JobID})
10691073
agt := dbgen.WorkspaceAgent(s.T(), db, database.WorkspaceAgent{ResourceID: res.ID})

coderd/database/models.go

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

coderd/database/querier.go

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

coderd/database/queries.sql.go

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

coderd/prometheusmetrics/aggregator_test.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package prometheusmetrics_test
22

33
import (
44
"context"
5+
"sort"
56
"sync/atomic"
67
"testing"
78
"time"
@@ -12,6 +13,7 @@ import (
1213
"github.com/stretchr/testify/require"
1314

1415
"cdr.dev/slog/sloggers/slogtest"
16+
1517
"github.com/coder/coder/v2/coderd/prometheusmetrics"
1618
"github.com/coder/coder/v2/codersdk/agentsdk"
1719
"github.com/coder/coder/v2/cryptorand"
@@ -22,6 +24,7 @@ const (
2224
testWorkspaceName = "yogi-workspace"
2325
testUsername = "yogi-bear"
2426
testAgentName = "main-agent"
27+
testTemplateName = "main-template"
2528
)
2629

2730
func TestUpdateMetrics_MetricsDoNotExpire(t *testing.T) {
@@ -58,6 +61,7 @@ func TestUpdateMetrics_MetricsDoNotExpire(t *testing.T) {
5861
{Name: "agent_name", Value: testAgentName},
5962
{Name: "username", Value: testUsername},
6063
{Name: "workspace_name", Value: testWorkspaceName},
64+
{Name: "template_name", Value: testTemplateName},
6165
}
6266
expected := []agentsdk.AgentMetric{
6367
{Name: "a_counter_one", Type: agentsdk.AgentMetricTypeCounter, Value: 1, Labels: commonLabels},
@@ -69,13 +73,14 @@ func TestUpdateMetrics_MetricsDoNotExpire(t *testing.T) {
6973
{Name: "hello", Value: "world"},
7074
{Name: "username", Value: testUsername},
7175
{Name: "workspace_name", Value: testWorkspaceName},
76+
{Name: "template_name", Value: testTemplateName},
7277
}},
7378
{Name: "d_gauge_four", Type: agentsdk.AgentMetricTypeGauge, Value: 6, Labels: commonLabels},
7479
}
7580

7681
// when
77-
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, given1)
78-
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, given2)
82+
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, testTemplateName, given1)
83+
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, testTemplateName, given2)
7984

8085
// then
8186
require.Eventually(t, func() bool {
@@ -119,6 +124,10 @@ func verifyCollectedMetrics(t *testing.T, expected []agentsdk.AgentMetric, actua
119124
}
120125

121126
dtoLabels := asMetricAgentLabels(d.GetLabel())
127+
// dto labels are sorted in alphabetical order.
128+
sort.Slice(e.Labels, func(i, j int) bool {
129+
return e.Labels[i].Name < e.Labels[j].Name
130+
})
122131
require.Equal(t, e.Labels, dtoLabels, d.String())
123132
}
124133
return true
@@ -154,7 +163,7 @@ func TestUpdateMetrics_MetricsExpire(t *testing.T) {
154163
}
155164

156165
// when
157-
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, given)
166+
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, testTemplateName, given)
158167

159168
time.Sleep(time.Millisecond * 10) // Ensure that metric is expired
160169

@@ -220,7 +229,7 @@ func Benchmark_MetricsAggregator_Run(b *testing.B) {
220229
b.Logf("N=%d sending %d metrics", b.N, numMetrics)
221230
var nGot atomic.Int64
222231
b.StartTimer()
223-
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, metrics)
232+
metricsAggregator.Update(ctx, testUsername, testWorkspaceName, testAgentName, testTemplateName, metrics)
224233
for i := 0; i < numMetrics; i++ {
225234
select {
226235
case <-ctx.Done():

0 commit comments

Comments
 (0)