Remove url.full from default OpenTelemetry metrics attributes#2815
Merged
Remove url.full from default OpenTelemetry metrics attributes#2815
Conversation
The full URL is a high-cardinality attribute that can cause metric explosion. Remove it from the default request attributes while keeping it available via requestAttributesWithFullUrl for users who need it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
88cc9d0 to
7e91018
Compare
There was a problem hiding this comment.
Pull request overview
This pull request removes the url.full attribute from the default OpenTelemetry metrics to prevent high-cardinality metric explosion, while maintaining backward compatibility through an opt-in method. Additionally, it includes new development container infrastructure for sandboxed development.
Changes:
- Remove
url.fullfrom default OpenTelemetry metrics request attributes to avoid high-cardinality issues - Add tests verifying the default behavior excludes
url.fulland the opt-inrequestAttributesWithFullUrlincludes it - Add comprehensive devcontainer setup with mitmproxy network proxy and WireGuard tunnel for sandboxed development
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| observability/opentelemetry-backend/src/main/scala/sttp/client4/opentelemetry/OpenTelemetryDefaults.scala | Removed url.full from default requestAttributes method and removed unused Response import |
| observability/opentelemetry-backend/src/test/scala/sttp/client4/opentelemetry/OpenTelemetryMetricsBackendTest.scala | Added tests verifying url.full is absent by default and present when using requestAttributesWithFullUrl |
| .devcontainer/sandcat/settings.example.json | Example settings file for sandcat development environment configuration |
| .devcontainer/sandcat/scripts/wg-client-init.sh | WireGuard client initialization script for network tunnel setup |
| .devcontainer/sandcat/scripts/mitmproxy_addon.py | Mitmproxy addon for network access rules and secret substitution |
| .devcontainer/sandcat/scripts/app-user-init.sh | User-level initialization script for development container setup |
| .devcontainer/sandcat/scripts/app-post-start.sh | Post-start hook to remove forwarded credential sockets |
| .devcontainer/sandcat/scripts/app-init.sh | Main entrypoint for development containers with CA cert installation |
| .devcontainer/sandcat/compose-proxy.yml | Docker Compose configuration for mitmproxy and WireGuard client services |
| .devcontainer/sandcat/Dockerfile.wg-client | Dockerfile for WireGuard client container |
| .devcontainer/devcontainer.json | VS Code devcontainer configuration with security settings |
| .devcontainer/compose-all.yml | Main Docker Compose file integrating proxy and application services |
| .devcontainer/Dockerfile.app | Dockerfile for main application development container |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
url.fullfrom default OpenTelemetry metrics request attributes to avoid high-cardinality metric explosionOpenTelemetryDefaults.requestAttributesWithFullUrlurl.fullis absent by default and present when explicitly opted inTest plan
url.full,requestAttributesWithFullUrlincludes it🤖 Generated with Claude Code