fix: Remove unnecessary serde_json dependency from logs feature and ensure opentelemetry-proto compatibility #3114
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.
The
logsfeature inopentelemetry-sdk/Cargo.tomlwas unnecessarily includingserde_jsonas a dependency. After thorough analysis of the codebase, I confirmed that:src/logs/usesserde_jsonserde_jsondependency is correctly included in thejaeger_remote_samplerfeature where it's actually needed for JSON parsing in the Jaeger remote sampler implementationHowever, removing
serde_jsonfrom the logs feature caused build failures inopentelemetry-protowhen thewith-serdefeature was enabled, as it relied on the transitive dependency from the SDK. To resolve this:Changes made:
opentelemetry-sdk/Cargo.toml: Removed
serde_jsonfrom thelogsfeatureopentelemetry-proto/Cargo.toml: Added
serde_jsonas an optional dependency whenwith-serdeis enabledThis change reduces unnecessary dependencies for users who only need logging functionality without the Jaeger remote sampler feature, while ensuring that
opentelemetry-protohas access toserde_jsonwhen JSON serialization/deserialization is needed.Fixes #3104.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.