diff --git a/server/cmd/api/api/telemetry.go b/server/cmd/api/api/telemetry.go index 8f1f905e..4ea50992 100644 --- a/server/cmd/api/api/telemetry.go +++ b/server/cmd/api/api/telemetry.go @@ -199,8 +199,9 @@ func containsCategory(cats []oapi.TelemetryEventCategory, target oapi.TelemetryE } // telemetryConfigFromOAPI converts an *oapi.BrowserTelemetryConfig to a telemetry.TelemetryConfig. -// An omitted category resolves to its default state (events.DefaultCategories). Returns the -// config, whether every configurable category ended up disabled (stop signal), and any error. +// Selection is opt-in: with no browser config the default set is used; with a browser config only +// the categories explicitly enabled there are captured (anything omitted is off). Returns the +// config, whether the result is empty (stop signal), and any error. func telemetryConfigFromOAPI(cfg *oapi.BrowserTelemetryConfig) (telemetry.TelemetryConfig, bool, error) { if cfg == nil || cfg.Browser == nil { // No per-category settings: resolve to the explicit default set so the @@ -209,14 +210,9 @@ func telemetryConfigFromOAPI(cfg *oapi.BrowserTelemetryConfig) (telemetry.Teleme return telemetry.TelemetryConfig{Categories: cats}, false, nil } - defaultOn := categorySetOf(events.DefaultCategories) cats := make([]oapi.TelemetryEventCategory, 0, len(events.UserCategories)) for _, f := range categoryFields(cfg.Browser) { - on := defaultOn[f.category] - if f.config != nil && f.config.Enabled != nil { - on = *f.config.Enabled - } - if on { + if f.config != nil && f.config.Enabled != nil && *f.config.Enabled { cats = append(cats, f.category) } } diff --git a/server/cmd/api/api/telemetry_test.go b/server/cmd/api/api/telemetry_test.go index 75466304..258b6987 100644 --- a/server/cmd/api/api/telemetry_test.go +++ b/server/cmd/api/api/telemetry_test.go @@ -2,6 +2,7 @@ package api import ( "context" + "encoding/json" "errors" "testing" @@ -48,71 +49,83 @@ func TestTelemetryConfigFromOAPI(t *testing.T) { assert.ElementsMatch(t, events.DefaultCategories, cfg.Categories) }) - t.Run("omitted enabled resolves to default state", func(t *testing.T) { + t.Run("opt-in captures exactly the enabled categories", func(t *testing.T) { + tr := true cfg, allDisabled, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ Browser: &oapi.BrowserTelemetryCategoriesConfig{ - Console: &oapi.BrowserTelemetryCategoryConfig{}, // Enabled nil → default state (on) + Console: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, + Network: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, }, }) require.NoError(t, err) assert.False(t, allDisabled) - assert.Contains(t, cfg.Categories, events.Console) - // Screenshot is off by default and must stay off when unspecified. - assert.NotContains(t, cfg.Categories, events.Screenshot) + assert.ElementsMatch(t, []oapi.TelemetryEventCategory{events.Console, events.Network}, cfg.Categories) }) - t.Run("screenshot is opt-in", func(t *testing.T) { + t.Run("omitted category is off (opt-in)", func(t *testing.T) { tr := true cfg, _, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ Browser: &oapi.BrowserTelemetryCategoriesConfig{ - Screenshot: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, + Console: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, }, }) require.NoError(t, err) - assert.Contains(t, cfg.Categories, events.Screenshot) + // Only console is enabled; default-bundle categories are not added in. + assert.Equal(t, []oapi.TelemetryEventCategory{events.Console}, cfg.Categories) }) - t.Run("all configurable categories false returns allDisabled=true", func(t *testing.T) { + t.Run("enabled:nil is treated as off", func(t *testing.T) { _, allDisabled, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ - Browser: allCategoriesDisabled(), + Browser: &oapi.BrowserTelemetryCategoriesConfig{ + Console: &oapi.BrowserTelemetryCategoryConfig{}, // Enabled nil → off + }, }) require.NoError(t, err) - assert.True(t, allDisabled) + assert.True(t, allDisabled, "a browser config that enables nothing clears telemetry") }) - t.Run("disabling only the default-on categories does not clear", func(t *testing.T) { - f := false - _, allDisabled, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ + t.Run("screenshot is opt-in", func(t *testing.T) { + tr := true + cfg, _, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ Browser: &oapi.BrowserTelemetryCategoriesConfig{ - Console: &oapi.BrowserTelemetryCategoryConfig{Enabled: &f}, - Network: &oapi.BrowserTelemetryCategoryConfig{Enabled: &f}, - Page: &oapi.BrowserTelemetryCategoryConfig{Enabled: &f}, - Interaction: &oapi.BrowserTelemetryCategoryConfig{Enabled: &f}, + Screenshot: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, }, }) require.NoError(t, err) - // control/connection/system/captcha remain at their default-on state. - assert.False(t, allDisabled) + assert.Contains(t, cfg.Categories, events.Screenshot) }) - t.Run("mixed enabled flags resolve unspecified to default", func(t *testing.T) { - tr, f := true, false - cfg, allDisabled, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ - Browser: &oapi.BrowserTelemetryCategoriesConfig{ - Console: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, - Network: &oapi.BrowserTelemetryCategoryConfig{Enabled: &f}, - }, + t.Run("empty browser config clears", func(t *testing.T) { + _, allDisabled, err := telemetryConfigFromOAPI(&oapi.BrowserTelemetryConfig{ + Browser: &oapi.BrowserTelemetryCategoriesConfig{}, }) require.NoError(t, err) - assert.False(t, allDisabled) - // network off; screenshot default off; the other 7 default-on categories remain. - assert.Contains(t, cfg.Categories, events.Console) - assert.NotContains(t, cfg.Categories, events.Network) - assert.NotContains(t, cfg.Categories, events.Screenshot) - assert.Len(t, cfg.Categories, len(events.DefaultCategories)-1) + assert.True(t, allDisabled) }) } +func TestPutTelemetryIgnoresUnknownCategory(t *testing.T) { + // Forward-compat: a newer control plane may send a telemetry category this + // image does not yet know. The strict handler decodes the body with + // encoding/json (no DisallowUnknownFields), so an unknown category must be + // ignored, not rejected, and known categories must still apply. + ctx := context.Background() + svc := newTestService(t, newMockRecordManager()) + + var body oapi.PutTelemetryJSONRequestBody + raw := []byte(`{"browser":{"console":{"enabled":true},"future_category":{"enabled":true}}}`) + require.NoError(t, json.Unmarshal(raw, &body)) + + resp, err := svc.PutTelemetry(ctx, oapi.PutTelemetryRequestObject{Body: &body}) + require.NoError(t, err) + r201, ok := resp.(oapi.PutTelemetry201JSONResponse) + require.True(t, ok, "expected 201, got %T", resp) + require.NotNil(t, r201.Config.Browser) + require.NotNil(t, r201.Config.Browser.Console) + require.NotNil(t, r201.Config.Browser.Console.Enabled) + assert.True(t, *r201.Config.Browser.Console.Enabled, "known category should be captured") +} + func TestPutTelemetry(t *testing.T) { ctx := context.Background() @@ -373,7 +386,15 @@ func TestTelemetryCollectorFailureLeavesConfigUnchanged(t *testing.T) { svc := newTestService(t, newMockRecordManager()) svc.cdpMonitor = &failingCdpMonitor{} - resp, err := svc.PutTelemetry(ctx, oapi.PutTelemetryRequestObject{}) + // Enable a CDP category so the (failing) collector start is attempted. + tr := true + resp, err := svc.PutTelemetry(ctx, oapi.PutTelemetryRequestObject{ + Body: &oapi.BrowserTelemetryConfig{ + Browser: &oapi.BrowserTelemetryCategoriesConfig{ + Console: &oapi.BrowserTelemetryCategoryConfig{Enabled: &tr}, + }, + }, + }) require.NoError(t, err) assert.IsType(t, oapi.PutTelemetry500JSONResponse{}, resp) assert.False(t, svc.telemetrySession.Active(), "failed collector start must not leave a session active") diff --git a/server/lib/events/event.go b/server/lib/events/event.go index cdffc74c..fd27636d 100644 --- a/server/lib/events/event.go +++ b/server/lib/events/event.go @@ -41,13 +41,10 @@ var UserCategories = []oapi.TelemetryEventCategory{ } // DefaultCategories is captured when the caller enables telemetry without -// per-category settings: every configurable category except Screenshot, which -// is high-volume base64 image data and therefore opt-in. +// per-category settings: the lightweight operational signals. CDP categories +// (console/network/page/interaction) and screenshot are excluded so the default +// never starts the CDP collector or emits high-volume streams; they are opt-in. var DefaultCategories = []oapi.TelemetryEventCategory{ - Console, - Network, - Page, - Interaction, Control, Connection, System, diff --git a/server/lib/oapi/oapi.go b/server/lib/oapi/oapi.go index e5a1fa64..f73fc1a1 100644 --- a/server/lib/oapi/oapi.go +++ b/server/lib/oapi/oapi.go @@ -3011,11 +3011,11 @@ type BrowserTelemetryCategoriesConfig struct { // BrowserTelemetryCategoryConfig Configuration for a single telemetry category. type BrowserTelemetryCategoryConfig struct { - // Enabled Whether this category is captured. In PUT requests, omitting this field leaves the category at its default state (every category on except `screenshot`). In PATCH requests, omitting this field (or sending an empty object `{}`) is a no-op; the category retains its current state. To enable or disable a category via PATCH, you must send an explicit `true` or `false`. + // Enabled Whether this category is captured. In PUT requests selection is opt-in: omitting this field (or the whole category) leaves the category off, so a PUT captures exactly the categories set to true. In PATCH requests, omitting this field (or sending an empty object `{}`) is a no-op; the category retains its current state. To enable or disable a category via PATCH, you must send an explicit `true` or `false`. Enabled *bool `json:"enabled,omitempty"` } -// BrowserTelemetryConfig Telemetry configuration for a browser. Per-category capture settings. Omit the browser key (or send an empty object) to capture the default set: every category except `screenshot`, which is heavy and opt-in. Within `browser`, omit a category to leave it at its default state, or set enabled true/false to override. Set every configurable category to enabled: false to clear the telemetry configuration. The `monitor` category (CDP collector health) is not configurable here; it flows automatically whenever a CDP category is captured. +// BrowserTelemetryConfig Telemetry configuration for a browser. Selection is opt-in. Omit the browser key (or send an empty object) to capture the default set: lightweight operational signals (control, connection, system, captcha). Within `browser`, only the categories you set enabled: true are captured; anything omitted is off. The CDP categories (console, network, page, interaction) and `screenshot` are off by default and must be opted into. A `browser` config with nothing enabled clears the telemetry configuration. The `monitor` category (CDP collector health) is not configurable here; it flows automatically whenever a CDP category is captured. type BrowserTelemetryConfig struct { // Browser Per-category telemetry capture settings for browser events. Browser *BrowserTelemetryCategoriesConfig `json:"browser,omitempty"` @@ -3643,7 +3643,7 @@ type TelemetryState struct { // AppliedAt Wall-clock time at which the current configuration was applied. Omitted when telemetry is not configured. AppliedAt *time.Time `json:"applied_at,omitempty"` - // Config Telemetry configuration for a browser. Per-category capture settings. Omit the browser key (or send an empty object) to capture the default set: every category except `screenshot`, which is heavy and opt-in. Within `browser`, omit a category to leave it at its default state, or set enabled true/false to override. Set every configurable category to enabled: false to clear the telemetry configuration. The `monitor` category (CDP collector health) is not configurable here; it flows automatically whenever a CDP category is captured. + // Config Telemetry configuration for a browser. Selection is opt-in. Omit the browser key (or send an empty object) to capture the default set: lightweight operational signals (control, connection, system, captcha). Within `browser`, only the categories you set enabled: true are captured; anything omitted is off. The CDP categories (console, network, page, interaction) and `screenshot` are off by default and must be opted into. A `browser` config with nothing enabled clears the telemetry configuration. The `monitor` category (CDP collector health) is not configurable here; it flows automatically whenever a CDP category is captured. Config BrowserTelemetryConfig `json:"config"` // Seq Process-monotonic sequence number of the last published event. Does not reset across configuration changes. @@ -18793,361 +18793,363 @@ func (sh *strictHandler) StreamTelemetryEvents(w http.ResponseWriter, r *http.Re // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "ovYuHZF4snSj/98AAAD///KQFumjvQEA", + "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", + "Q3Zw4ZDEo6Ub/f8GAAD//0eOya94vgEA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/server/lib/telemetry/telemetry_test.go b/server/lib/telemetry/telemetry_test.go index 9258c2ef..18d2929d 100644 --- a/server/lib/telemetry/telemetry_test.go +++ b/server/lib/telemetry/telemetry_test.go @@ -24,7 +24,9 @@ func newTestEventStream(t *testing.T, capacity int) *events.EventStream { func newTestTelemetrySession(t *testing.T) *TelemetrySession { t.Helper() ts := NewTelemetrySession(newTestEventStream(t, 100)) - ts.Start("test-session", TelemetryConfig{}) + // Capture all user categories so publish-mechanics tests are independent of + // the default-set composition. + ts.Start("test-session", TelemetryConfig{Categories: events.UserCategories}) return ts } @@ -55,7 +57,7 @@ func TestTelemetrySession(t *testing.T) { const total = goroutines * eventsEach ts := NewTelemetrySession(newTestEventStream(t, total)) - ts.Start("test-concurrent", TelemetryConfig{}) + ts.Start("test-concurrent", TelemetryConfig{Categories: events.UserCategories}) reader := ts.NewReader(0) var wg sync.WaitGroup @@ -149,7 +151,7 @@ func TestTelemetrySession(t *testing.T) { t.Run("start_sets_telemetry_session_id_in_source_metadata", func(t *testing.T) { ts := newTestTelemetrySession(t) - ts.Start("test-uuid", TelemetryConfig{}) + ts.Start("test-uuid", TelemetryConfig{Categories: events.UserCategories}) reader := ts.NewReader(0) ts.Publish(events.Event{Type: "page.navigation", Category: events.Page, Source: oapi.BrowserEventSource{Kind: oapi.Cdp}, Ts: 1}) @@ -163,7 +165,7 @@ func TestTelemetrySession(t *testing.T) { t.Run("data_unchanged_when_telemetry_session_id_in_metadata", func(t *testing.T) { ts := newTestTelemetrySession(t) - ts.Start("merge-session", TelemetryConfig{}) + ts.Start("merge-session", TelemetryConfig{Categories: events.UserCategories}) reader := ts.NewReader(0) ts.Publish(events.Event{ diff --git a/server/openapi.yaml b/server/openapi.yaml index ee2d4f5d..017f99da 100644 --- a/server/openapi.yaml +++ b/server/openapi.yaml @@ -1298,9 +1298,10 @@ paths: summary: Set telemetry configuration description: > Sets the telemetry configuration. Returns 201 if telemetry was not - previously configured; returns 200 if it was. Setting every configurable - category to enabled: false clears the configuration; this is idempotent - when telemetry is not configured. + previously configured; returns 200 if it was. Selection is opt-in: a + request that enables no categories (a browser config with nothing set to + true, or every category disabled) clears the configuration; this is + idempotent when telemetry is not configured. operationId: putTelemetry requestBody: required: false @@ -1565,14 +1566,16 @@ components: BrowserTelemetryConfig: type: object description: > - Telemetry configuration for a browser. Per-category capture settings. - Omit the browser key (or send an empty object) to capture the default - set: every category except `screenshot`, which is heavy and opt-in. - Within `browser`, omit a category to leave it at its default state, or - set enabled true/false to override. Set every configurable category to - enabled: false to clear the telemetry configuration. The `monitor` - category (CDP collector health) is not configurable here; it flows - automatically whenever a CDP category is captured. + Telemetry configuration for a browser. Selection is opt-in. Omit the + browser key (or send an empty object) to capture the default set: + lightweight operational signals (control, connection, system, captcha). + Within `browser`, only the categories you set enabled: true are + captured; anything omitted is off. The CDP categories (console, network, + page, interaction) and `screenshot` are off by default and must be + opted into. A `browser` config with nothing enabled clears the + telemetry configuration. The `monitor` category (CDP collector health) + is not configurable here; it flows automatically whenever a CDP category + is captured. properties: browser: $ref: "#/components/schemas/BrowserTelemetryCategoriesConfig" @@ -1616,12 +1619,12 @@ components: enabled: type: boolean description: > - Whether this category is captured. In PUT requests, omitting this field - leaves the category at its default state (every category on except - `screenshot`). In PATCH requests, omitting this field (or sending an - empty object `{}`) is a no-op; the category retains its current state. - To enable or disable a category via PATCH, you must send an explicit - `true` or `false`. + Whether this category is captured. In PUT requests selection is opt-in: + omitting this field (or the whole category) leaves the category off, so + a PUT captures exactly the categories set to true. In PATCH requests, + omitting this field (or sending an empty object `{}`) is a no-op; the + category retains its current state. To enable or disable a category via + PATCH, you must send an explicit `true` or `false`. additionalProperties: false BrowserCallStack: type: object