From 4c5641c3dbe9ebbc7d59fed720155a697d2a2886 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 2 Apr 2026 10:23:00 -0700 Subject: [PATCH] Revert "Code review: telemetry builder setter naming (#17069)" This reverts commit b1638ec11b2d2d6f0e04f146c83dee06b9b0da56. --- .github/agents/knowledge/general-rules.md | 1 - .github/agents/knowledge/library-patterns.md | 29 -------------------- 2 files changed, 30 deletions(-) diff --git a/.github/agents/knowledge/general-rules.md b/.github/agents/knowledge/general-rules.md index a9288d1cbcad..66519c64cca3 100644 --- a/.github/agents/knowledge/general-rules.md +++ b/.github/agents/knowledge/general-rules.md @@ -17,7 +17,6 @@ When a "Knowledge File" is listed, load it from `knowledge/` before reviewing th | Style | Style guide | Always | — | | Style | Uppercase field names should reflect semantic constants or immutable value constants such as `Duration` timeouts/intervals, not simply `static final` | Always | — | | Naming | Getter naming (`get` / `is`) | Always | — | -| Naming | Boolean/collection option naming (`set*Enabled`, `setCapture*`, `setEmitExperimental*`) | `Experimental` or `TelemetryBuilder` setter changes | `library-patterns.md` | | Naming | Module/package naming | New or renamed modules/packages | `module-naming.md` | | Javaagent | Advice patterns | `@Advice` classes | `javaagent-advice-patterns.md` | | Javaagent | Module structure patterns | `InstrumentationModule`, `TypeInstrumentation`, `Singletons` | `javaagent-module-patterns.md` | diff --git a/.github/agents/knowledge/library-patterns.md b/.github/agents/knowledge/library-patterns.md index f2dfd560012a..e79cddb3db89 100644 --- a/.github/agents/knowledge/library-patterns.md +++ b/.github/agents/knowledge/library-patterns.md @@ -44,32 +44,3 @@ public final class MyLibraryTelemetry { - Builder setter methods return `this` and are annotated `@CanIgnoreReturnValue`. - The builder's constructor is package-private — only `Telemetry.builder()` creates it. - `build()` returns the `{Library}Telemetry` instance. - -## Boolean and Collection Option Naming - -Builder methods on `TelemetryBuilder` and `Experimental` classes must follow these -naming patterns. Flag any new method that deviates. - -### Canonical patterns - -| Semantic | Pattern | Examples | -| --- | --- | --- | -| Feature on/off toggle | `set*Enabled(boolean)` | `setSqlCommenterEnabled`, `setQuerySanitizationEnabled`, `setDataSourceInstrumenterEnabled` | -| Emit experimental signals | `setEmitExperimental*(boolean)` | `setEmitExperimentalTelemetry`, `setEmitExperimentalMetrics` | -| Capture data (boolean) | `setCapture*(boolean)` | `setCaptureExperimentalSpanAttributes`, `setCaptureEnduserId`, `setCaptureQuery` | -| Capture data (collection) | `setCapture*(Collection)` | `setCaptureRequestHeaders`, `setCaptureResponseHeaders`, `setCaptureRequestParameters` | - -### Rules - -- **`set*Enabled`** is for features that are turned on or off (sanitization, SQL commenter, - instrumenter toggles). The thing being named is a feature or processing step. -- **`setCapture*`** is for options that control whether a piece of data is collected or - emitted (attributes, headers, query text, message content). Use the verb form for both - boolean and collection variants. -- **`setEmitExperimental*`** is reserved for the `Experimental` class toggle that enables - all experimental telemetry for an instrumentation. Do not use on `TelemetryBuilder`. - -### Known exceptions - -- `setPreferJfrMetrics(boolean)` — selects JFR over JMX for overlapping metrics; it is a - strategy selector, not a feature toggle or data capture flag.