Optimize internal-logs feature dependency in opentelemetry-otlp #2
+1
−1
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.
Description
This PR optimizes the
internal-logs
feature inopentelemetry-otlp
by changing its dependency fromopentelemetry-http/internal-logs
toopentelemetry/internal-logs
.Problem
Currently, enabling the
internal-logs
feature inopentelemetry-otlp
requiresopentelemetry-http
even when only using gRPC transport (grpc-tonic
). This creates an unnecessary dependency since:otel_debug!
,otel_warn!
,otel_error!
,otel_info!
) are defined in theopentelemetry
crateopentelemetry-http/internal-logs
feature simply forwards toopentelemetry/internal-logs
Solution
Changed the
internal-logs
feature definition inopentelemetry-otlp/Cargo.toml
:Benefits
grpc-tonic
withinternal-logs
enabled (and disabling default features),opentelemetry-http
is no longer compiledhttp-proto
andhttp-json
features still properly depend onopentelemetry-http
Testing
Verified the following scenarios:
grpc-tonic + logs + internal-logs
:opentelemetry-http
not compiledgrpc-tonic + logs
(no internal-logs): Builds successfullyhttp-proto + logs + internal-logs
:opentelemetry-http
properly includedFixes #[issue_number]
Original prompt
💡 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.