Rapport server.port
met metrische gegevens van HttpClient voorwaardelijke
Toen httpClient-metrische gegevens werden toegevoegd in .NET 8, server.port
werd op dat moment geïntroduceerd als een Conditionally Required
kenmerk in overeenstemming met de status van de standaard. Voorwaardelijk vereist betekende dat de poort alleen werd gerapporteerd als deze niet overeenkomt met de standaardpoort van het bijbehorende protocol (80 voor HTTP, 443 voor HTTPS). Het standaardvereisteniveau van het kenmerk is echter gewijzigd in Required
.
Om de naleving van de Open Telemetry-standaard te handhaven terwijl het gedrag van het instrument consistent blijft met elkaar, de instrumenten http.client.request.duration
en http.client.connection.duration
http.client.open_connections
zijn gewijzigd om het server.port
kenmerk onvoorwaardelijke rapportage uit te voeren.
Deze wijziging kan bestaande query's in bewakingssoftware zoals Prometheus verbreken.
Versie geïntroduceerd
.NET 9 Preview 7
Vorig gedrag
http.client.request.duration
, http.client.connection.duration
en http.client.open_connections
heeft het server.port
kenmerk alleen gerapporteerd als het niet overeenkomt met de standaardpoort van het bijbehorende protocol (80 voor HTTP, 443 voor HTTPS).
Nieuw gedrag
Het server.port
kenmerk wordt nu voorwaardelijke gerapporteerd door de instrumenten http.client.request.duration
, http.client.connection.duration
en http.client.open_connections
.
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
De wijziging houdt de naleving van de open telemetriespecificatie bij en houdt HttpClient
instrumenten consistent met elkaar.
Aanbevolen actie
Er is geen actie nodig als u niet vertrouwt op metrische gegevens van HttpClient. Als u de http.client.request.duration
, http.client.connection.duration
of http.client.open_connections
instrumenten gebruikt, kan deze wijziging bestaande query's in bewakingssoftware zoals Prometheus verbreken.
Betrokken API's
System.Net.Http.SocketsHttpHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)
System.Net.Http.SocketsHttpHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)
- System.Net.Http.HttpClientHandler.Send(HttpRequestMessage, CancellationToken)
- System.Net.Http.HttpClientHandler.SendAsync(HttpRequestMessage, CancellationToken)