From 9c84fb7fb13eac7b070be8f0388e027b6c6dbde6 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 21 Mar 2024 16:47:06 +0200 Subject: [PATCH] fix(coderd/agentapi): always write agent stats when provided (#12699) --- coderd/agentapi/stats.go | 4 ++-- coderd/agentapi/stats_test.go | 10 +++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/coderd/agentapi/stats.go b/coderd/agentapi/stats.go index 59706da305..a214fda3f1 100644 --- a/coderd/agentapi/stats.go +++ b/coderd/agentapi/stats.go @@ -47,11 +47,11 @@ func (a *StatsAPI) now() time.Time { } func (a *StatsAPI) UpdateStats(ctx context.Context, req *agentproto.UpdateStatsRequest) (*agentproto.UpdateStatsResponse, error) { - // An empty stat means it's just looking for the report interval. res := &agentproto.UpdateStatsResponse{ ReportInterval: durationpb.New(a.AgentStatsRefreshInterval), } - if req.Stats == nil || len(req.Stats.ConnectionsByProto) == 0 { + // An empty stat means it's just looking for the report interval. + if req.Stats == nil { return res, nil } diff --git a/coderd/agentapi/stats_test.go b/coderd/agentapi/stats_test.go index 46e706c3e1..943c8e7ac0 100644 --- a/coderd/agentapi/stats_test.go +++ b/coderd/agentapi/stats_test.go @@ -222,9 +222,7 @@ func TestUpdateStates(t *testing.T) { req = &agentproto.UpdateStatsRequest{ Stats: &agentproto.Stats{ - ConnectionsByProto: map[string]int64{ - "tcp": 1, - }, + ConnectionsByProto: map[string]int64{}, ConnectionCount: 0, ConnectionMedianLatencyMs: 23, }, @@ -262,16 +260,14 @@ func TestUpdateStates(t *testing.T) { require.NoError(t, err) }) - t.Run("NoConnectionsByProto", func(t *testing.T) { + t.Run("NoStats", func(t *testing.T) { t.Parallel() var ( dbM = dbmock.NewMockStore(gomock.NewController(t)) ps = pubsub.NewInMemory() req = &agentproto.UpdateStatsRequest{ - Stats: &agentproto.Stats{ - ConnectionsByProto: map[string]int64{}, // len() == 0 - }, + Stats: nil, } ) api := agentapi.StatsAPI{