Skip to content

Commit 05d6f59

Browse files
committed
review: add optional applied_at to TelemetryState for observability
1 parent c1475ea commit 05d6f59

6 files changed

Lines changed: 283 additions & 264 deletions

File tree

server/cmd/api/api/telemetry.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,14 @@ func (s *ApiService) PatchTelemetry(_ context.Context, req oapi.PatchTelemetryRe
9898

9999
// buildTelemetryResponse constructs a TelemetryState response from the current configuration.
100100
func (s *ApiService) buildTelemetryResponse() oapi.TelemetryState {
101-
return oapi.TelemetryState{
101+
resp := oapi.TelemetryState{
102102
Config: telemetryConfigToOAPI(s.telemetrySession.Config()),
103103
Seq: int64(s.telemetrySession.Seq()),
104104
}
105+
if appliedAt := s.telemetrySession.AppliedAt(); !appliedAt.IsZero() {
106+
resp.AppliedAt = &appliedAt
107+
}
108+
return resp
105109
}
106110

107111
// telemetryConfigFromOAPI converts an *oapi.BrowserTelemetryConfig to a telemetry.TelemetryConfig.

server/cmd/api/api/telemetry_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ func TestPutTelemetry(t *testing.T) {
7676
r201, ok := resp.(oapi.PutTelemetry201JSONResponse)
7777
require.True(t, ok, "expected 201, got %T", resp)
7878
require.NotNil(t, r201.Config.Browser)
79+
require.NotNil(t, r201.AppliedAt)
80+
assert.False(t, r201.AppliedAt.IsZero())
7981
})
8082

8183
t.Run("creates session with config (201)", func(t *testing.T) {
@@ -136,6 +138,7 @@ func TestPutTelemetry(t *testing.T) {
136138
assert.False(t, *r200.Config.Browser.Network.Enabled)
137139
assert.False(t, *r200.Config.Browser.Page.Enabled)
138140
assert.False(t, *r200.Config.Browser.Interaction.Enabled)
141+
assert.Nil(t, r200.AppliedAt, "applied_at must be omitted when telemetry is unconfigured")
139142
})
140143
}
141144

server/e2e/e2e_s2_storage_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func TestS2StorageWriter(t *testing.T) {
8080
})
8181
require.NoError(t, err)
8282
require.Equal(t, http.StatusOK, stopResp.StatusCode(), "patch telemetry: %s", string(stopResp.Body))
83-
t.Log("telemetry session stopped")
83+
t.Log("telemetry configuration cleared")
8484

8585
// Give the storage writer time to flush to S2 (batcher linger + network).
8686
time.Sleep(2 * time.Second)

0 commit comments

Comments
 (0)