[HTTP] Remove peer.address from connection OTel counters#128940
Open
ManickaP wants to merge 1 commit into
Open
[HTTP] Remove peer.address from connection OTel counters#128940ManickaP wants to merge 1 commit into
ManickaP wants to merge 1 commit into
Conversation
Contributor
|
Tagging subscribers to this area: @karelz, @dotnet/ncl |
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the network.peer.address tag from System.Net.Http connection metrics tag sets, aligning emitted dimensions with updated OpenTelemetry semantic conventions (where that attribute is now opt-in for http.client.open_connections) and reducing metric cardinality pressure.
Changes:
- Stop emitting
network.peer.addressfromSocketsHttpHandlerconnection metric tags. - Remove peer-address validation helper and usages from
System.Net.Httpfunctional metrics tests.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Metrics/ConnectionMetrics.cs | Removes network.peer.address from the TagList used by connection metrics. |
| src/libraries/System.Net.Http/tests/FunctionalTests/MetricsTest.cs | Updates metrics functional test helpers to no longer validate network.peer.address. |
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
src/libraries/System.Net.Http/tests/FunctionalTests/MetricsTest.cs:137
validPeerAddressesis no longer used to validate peer addresses (the peer-address tag was removed). It now only serves as a non-null sentinel to skip the duration range assertion, so the parameter name is misleading and makes the test harder to understand/maintain.
protected static void VerifyConnectionDuration(string instrumentName, object measurement, KeyValuePair<string, object?>[] tags, Uri uri, Version? protocolVersion, IPAddress[] validPeerAddresses = null)
{
Assert.Equal(InstrumentNames.ConnectionDuration, instrumentName);
double value = Assert.IsType<double>(measurement);
// This flakes for remote requests on CI.
if (validPeerAddresses is null)
{
Comment on lines
125
to
128
| VerifySchemeHostPortTags(tags, uri); | ||
| VerifyTag(tags, "network.protocol.version", GetVersionString(protocolVersion)); | ||
| VerifyTag(tags, "http.connection.state", state); | ||
| VerifyPeerAddress(tags, validPeerAddresses); | ||
| } |
Comment on lines
140
to
142
| VerifySchemeHostPortTags(tags, uri); | ||
| VerifyTag(tags, "network.protocol.version", GetVersionString(protocolVersion)); | ||
| VerifyPeerAddress(tags, validPeerAddresses); | ||
| } |
Comment on lines
389
to
+392
| Measurement<double> cd = Assert.Single(connectionDurationRecorder.GetMeasurements()); | ||
| VerifyConnectionDuration(InstrumentNames.ConnectionDuration, cd.Value, cd.Tags.ToArray(), uri, UseVersion, addresses); | ||
| Measurement<long> oc = openConnectionsRecorder.GetMeasurements().First(); | ||
| VerifyOpenConnections(InstrumentNames.OpenConnections, oc.Value, oc.Tags.ToArray(), 1, uri, UseVersion, "idle", addresses); | ||
| VerifyOpenConnections(InstrumentNames.OpenConnections, oc.Value, oc.Tags.ToArray(), 1, uri, UseVersion, "idle"); |
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.
OTel changed specification for these 2 tags to "Opt-In". We do not have any toggles for Opt-In tags and we simply omit them. Therefore, I'm removing them from the code.
OTel change: open-telemetry/semantic-conventions#3759
Contributes to #122752