Skip to content

Commit 54fd350

Browse files
authored
feat: improve logging for speedtest connections
part of #7963 improve connection logging for speedtest connections
1 parent 9e622d0 commit 54fd350

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

agent/agent.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,10 @@ func (a *agent) createTailnet(ctx context.Context, agentID uuid.UUID, derpMap *t
895895
}
896896
break
897897
}
898+
clog := a.logger.Named("speedtest").With(
899+
slog.F("remote", conn.RemoteAddr().String()),
900+
slog.F("local", conn.LocalAddr().String()))
901+
clog.Info(ctx, "accepted conn")
898902
wg.Add(1)
899903
closed := make(chan struct{})
900904
go func() {
@@ -907,7 +911,12 @@ func (a *agent) createTailnet(ctx context.Context, agentID uuid.UUID, derpMap *t
907911
}()
908912
go func() {
909913
defer close(closed)
910-
_ = speedtest.ServeConn(conn)
914+
sErr := speedtest.ServeConn(conn)
915+
if sErr != nil {
916+
clog.Error(ctx, "test ended with error", slog.Error(sErr))
917+
return
918+
}
919+
clog.Info(ctx, "test ended")
911920
}()
912921
}
913922
wg.Wait()

agent/agent_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -1850,13 +1850,16 @@ func TestAgent_UpdatedDERP(t *testing.T) {
18501850
func TestAgent_Speedtest(t *testing.T) {
18511851
t.Parallel()
18521852
t.Skip("This test is relatively flakey because of Tailscale's speedtest code...")
1853+
logger := slogtest.Make(t, &slogtest.Options{IgnoreErrors: true}).Leveled(slog.LevelDebug)
18531854
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
18541855
defer cancel()
18551856
derpMap, _ := tailnettest.RunDERPAndSTUN(t)
18561857
//nolint:dogsled
18571858
conn, _, _, _, _ := setupAgent(t, agentsdk.Manifest{
18581859
DERPMap: derpMap,
1859-
}, 0)
1860+
}, 0, func(client *agenttest.Client, options *agent.Options) {
1861+
options.Logger = logger.Named("agent")
1862+
})
18601863
defer conn.Close()
18611864
res, err := conn.Speedtest(ctx, speedtest.Upload, 250*time.Millisecond)
18621865
require.NoError(t, err)

0 commit comments

Comments
 (0)