Remove deprecated redact-query-parameters and db-sqlcommenter configurations#18229
Merged
Conversation
…enter configuration
laurit
approved these changes
Apr 23, 2026
trask
force-pushed
the
remove-more-deprecated-props
branch
from
April 23, 2026 14:34
e050cb4 to
e707056
Compare
trask
enabled auto-merge (squash)
April 23, 2026 14:35
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Removes deprecated experimental configuration knobs for URL query redaction and DB SQLCommenter, and aligns instrumentation metadata with the newer sanitization configuration.
Changes:
- Replaced
otel.instrumentation.http.client.experimental.redact-query-parameterswithotel.instrumentation.sanitization.url.experimental.sensitive-query-parametersacross instrumentation metadata. - Removed support (and related warnings/tests/mappings) for deprecated
otel.instrumentation.common.experimental.db-sqlcommenter.enabled. - Updated Spring Boot configuration metadata and docs/changelog to reflect the removals.
Reviewed changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml | Swap deprecated redact boolean to new sensitive query parameter list config. |
| instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/metadata.yaml | Same config metadata replacement for Vert.x 4.x. |
| instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/metadata.yaml | Same config metadata replacement for Vert.x 3.x. |
| instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json | Remove deprecated Spring property metadata; add new property metadata. |
| instrumentation/reactor/reactor-netty/reactor-netty-1.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/ratpack/ratpack-1.7/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/play/play-ws/play-ws-2.1/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/play/play-ws/play-ws-2.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/play/play-ws/play-ws-1.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/pekko/pekko-http-1.0/metadata.yaml | Remove deprecated redact boolean metadata; add new list config. |
| instrumentation/okhttp/okhttp-3.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/okhttp/okhttp-2.2/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/netty/netty-4.1/metadata.yaml | Remove deprecated redact boolean metadata; add new list config. |
| instrumentation/netty/netty-4.0/metadata.yaml | Remove deprecated redact boolean metadata; add new list config. |
| instrumentation/netty/netty-3.8/metadata.yaml | Remove deprecated redact boolean metadata; add new list config. |
| instrumentation/kubernetes-client-7.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/ktor/ktor-3.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/ktor/ktor-2.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/jodd-http-4.2/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/jetty-httpclient/jetty-httpclient-9.2/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/jetty-httpclient/jetty-httpclient-12.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/OpenTelemetryDriver.java | Remove deprecated db-sqlcommenter system property fallback and warning. |
| instrumentation/java-http-client/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/http-url-connection/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/google-http-client-1.19/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/async-http-client/async-http-client-2.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/async-http-client/async-http-client-1.9/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/async-http-client/async-http-client-1.8/metadata.yaml | Replace deprecated redact boolean metadata with new list config (incl declarative_name). |
| instrumentation/armeria/armeria-1.3/metadata.yaml | Remove deprecated redact boolean metadata; add new list config (incl declarative_name). |
| instrumentation/apache-httpclient/apache-httpclient-5.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/apache-httpclient/apache-httpclient-4.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/apache-httpclient/apache-httpclient-2.0/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/apache-httpasyncclient-4.1/metadata.yaml | Replace deprecated redact boolean metadata with new list config. |
| instrumentation/akka/akka-http-10.0/metadata.yaml | Remove deprecated redact boolean metadata; add new list config. |
| instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/config/internal/DbConfigTest.java | Remove test covering deprecated db-sqlcommenter fallback. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/DbConfig.java | Remove deprecated db-sqlcommenter fallback + warning helper. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/CommonConfig.java | Remove deprecated redact boolean handling; rely on new sensitive query parameters list. |
| declarative-config-bridge/src/test/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigPropertiesTest.java | Remove mapping test for deprecated db-sqlcommenter property. |
| declarative-config-bridge/src/main/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigProperties.java | Remove special mapping for deprecated redact boolean property. |
| CHANGELOG.md | Document removal of both deprecated experimental config properties. |
| .github/agents/knowledge/metadata-yaml-format.md | Remove deprecated mapping reference from metadata format docs. |
Comments suppressed due to low confidence (2)
instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml:1
- The config is declared as
type: list, but the default is a single CSV string. If tooling expects a YAML sequence forlistdefaults, this will be parsed/serialized incorrectly (and can break generated docs/metadata). Consider expressing the default as a YAML list (sequence) or, if CSV is the intended representation, changetype/description to explicitly indicate a comma-separated string.
instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json:1 - For Spring Boot configuration metadata,
typeisList<String>butdefaultValueis a single CSV string. This can confuse IDE metadata consumers and config hints. Consider makingdefaultValuea JSON array of strings, or documenting that the list is provided as a comma-separated string (and keep it consistent with how Spring binder expects the property to be configured).
trask
force-pushed
the
remove-more-deprecated-props
branch
from
April 23, 2026 15:55
c5a864a to
5a5530f
Compare
The declarative_name mapping for peer-service-mapping (a map type) is handled as a special structured list case in ConfigPropertiesBackedDeclarativeConfigProperties and does not round-trip through the simple flat-property bridge used by DeclarativeConfigValidationTest. No other metadata.yaml declares a declarative_name for this property; drop it here to match and fix the failing test.
trask
force-pushed
the
remove-more-deprecated-props
branch
from
April 24, 2026 15:25
db1266b to
e42d288
Compare
…ted-props # Conflicts: # instrumentation/okhttp/okhttp-3.0/metadata.yaml # instrumentation/ratpack/ratpack-1.7/metadata.yaml
trask
force-pushed
the
remove-more-deprecated-props
branch
from
April 24, 2026 15:27
e42d288 to
8bc1ec7
Compare
The declarative_name was previously removed in bbca603 to fix the DeclarativeConfigValidationTest, but it was reintroduced when merging upstream/main (which still carried the line). Remove it again.
…ted-props # Conflicts: # instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/metadata.yaml # instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/metadata.yaml # instrumentation/vertx/vertx-http-client/vertx-http-client-5.0/metadata.yaml
jpkrohling
added a commit
to ollygarden/opentelemetry-agent-skills
that referenced
this pull request
Jul 15, 2026
…y default, redaction and capture knobs (#136) ## Summary Fills a factual gap surfaced while working ollygarden/skills#29: `otel-java` had nothing on what Java HTTP instrumentation captures from requests, so answering "does the agent export query strings, and how do I stop it?" required external research. These are vendor-neutral upstream facts and belong here. New `references/sensitive-data-capture.md`, registered in the references table: - The default-capture asymmetry: headers, servlet request parameters, and SQL bound values are **off** by default, but the raw query string (`url.query` / inside `url.full`) is **on**, with only four credential parameters redacted. - `otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters`: list semantics, **full-override** (not additive) behavior, declarative-config name, and the removal of the old client-only `redact-query-parameters` property ([#18229](open-telemetry/opentelemetry-java-instrumentation#18229)). - The fact that **no property drops the query string entirely** — post-processing options (SpanProcessor via autoconfigure SPI / agent extension, or Collector `transform`/`redaction`). - The opt-in capture knobs (header and servlet-parameter capture) and current SQL-sanitization toggles with the deprecated spellings. - Sources-of-truth fetch table (upstream HTTP config docs, instrumentation `metadata.yaml`, CHANGELOG, semconv). Every property name/default was verified against the upstream docs page, an instrumentation `metadata.yaml`, and the CHANGELOG (fetch commands are in the file's sources-of-truth table). The companion opinion ("do not export query strings by default") lands in `ollygarden-otel-java-setup` via ollygarden/skills#29, which cross-references this file for mechanics — keeping opinions and upstream facts separated per contributing guidelines. ## Agent involvement Authored by an AI coding agent (Claude Code); reviewed and owned by @jpkroehling. ## Harness results (required for new or substantively changed skills) - **Prompt context:** Java showcase vibe run (2026-07-14, spring-petclinic, openai/gpt-5.6-sol via opencode, hermetic harness) — with the current `otel-java` skill installed and invoked, the agent shipped instrumentation exporting `lastName=Owner58_88584` in `url.query` (deterministic PII check FAIL, 2/40 Tempo traces); the skill offered no capture/redaction facts to consult. - **With this reference (micro-test, 2026-07-15):** a fresh hermetic planning session with the updated skill set produced the `sensitive_query_parameters` configuration block and an explicit query-value redaction plan item, unprompted. Full A/B re-run (`t3-vibe-java-r2`) follows once the paired opinion PR merges. - Transcripts live in the (remote-less) showcase meta-repo `results/`; available on request. ## Checklist - [x] `skills-ref validate skills/otel-java` passes - [x] Content is vendor-neutral upstream fact, verified against sources of truth - [x] Harness comparison results included above - [x] Commit messages follow Conventional Commits - [x] I have signed the OllyGarden CLA - [x] I have read and will follow the Code of Conduct 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These are both experimental and so can be removed in minor release.