Repository navigation
Clarify schema URL ownership by telemetry domain - #20747
Merged
Merged
Conversation
Pull request dashboard statusMerged · refreshed 2026-10-21 06:25 UTC Status above doesn't look right?
|
Copilot
AI
changed the title
[WIP] Cleanup schema URL ownership for behavior preservation
Clarify schema URL ownership by telemetry domain
Oct 20, 2026
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The refactor preserves schema values and RPC selection behavior, with no unresolved blocking findings.
No open issues 🎉
What changed in this PR
Clarifies schema URL ownership within the instrumentation codebase while preserving emitted schemas and instance-scoped RPC selection.
Changes:
- Centralizes database and messaging schema URLs in internal domain owners.
- Derives RPC schema URLs from the captured selection.
- Consolidates repeated GraphQL and Couchbase schema values.
| File | Description |
|---|---|
| instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceSingletons.java | Uses database schema owner. |
| instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceSingletons.java | Uses database schema owner. |
| instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcInstrumenterFactory.java | Uses database schema owner. |
| instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java | Shares local schema constant. |
| instrumentation/couchbase/couchbase-3.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_2/CouchbaseRequestTracer.java | Unifies trace and log schemas. |
| instrumentation/couchbase/couchbase-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_1/CouchbaseRequestTracer.java | Unifies trace and log schemas. |
| instrumentation/couchbase/couchbase-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v3_0/CouchbaseRequestTracer.java | Unifies trace and log schemas. |
| instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/camel/v2_20/CamelSingletons.java | Uses domain schema owners. |
| instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/camel/v2_20/CamelProcessMetrics.java | Uses messaging schema owner. |
| instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/AwsSdkInstrumenterFactory.java | Uses domain schema owners. |
| instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkInstrumenterFactory.java | Uses domain schema owners. |
| instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/internal/SemconvStabilityTest.java | Removes assertions for removed helpers. |
| instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/SemconvStability.java | Removes domain schema helpers. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/RpcCommonAttributesExtractor.java | Delegates schema lookup to selection. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/rpc/internal/RpcSemconvSelection.java | Owns selection-dependent schema lookup. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java | Uses messaging schema owner. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/internal/MessagingSchemaUrls.java | Defines messaging schema constant. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java | Uses database schema owner. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/internal/DbSchemaUrls.java | Defines database schema constant. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbConnectionPoolMetrics.java | Uses database schema owner. |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java | Uses database schema owner. |
Review effort: Balanced
trask
reviewed
Oct 20, 2026
This was referenced Oct 20, 2026
trask
added this pull request to stack #20762
October 20, 2026 05:34
trask
force-pushed
the
copilot/cleanup-schema-url-ownership
branch
from
October 20, 2026 17:23
f2b031e to
24b8901
Compare
trask
reviewed
Oct 20, 2026
Co-authored-by: trask <218610+trask@users.noreply.github.com>
Co-authored-by: trask <218610+trask@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: trask <218610+trask@users.noreply.github.com>
trask
force-pushed
the
copilot/cleanup-schema-url-ownership
branch
from
October 20, 2026 21:43
a03767f to
cf39371
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
laurit
reviewed
Oct 21, 2026
| */ | ||
| public final class DbSchemaUrls { | ||
|
|
||
| public static final String SCHEMA_URL = SchemaUrls.V1_44_0; |
Contributor
There was a problem hiding this comment.
Wondering whey we have a separate class for each semconv. Under what circumstances would we add additional constants here?
laurit
approved these changes
Oct 21, 2026
3 of 4 tasks
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.

Give HTTP, database, messaging, and GenAI schema URLs domain-specific internal owners so convention versions can evolve independently. Keep RPC schema lookup with its captured convention mode.
Emitted schema URLs and attribute-based inference are unchanged. The GenAI definition prepares explicit signal wiring without changing existing telemetry.
Fixes #20413.