Sestava server.port
metrik HttpClient bezpodmínečně
Když byly v .NET 8 přidány metriky HttpClient, server.port
byl zaveden jako Conditionally Required
atribut v souladu se stavem standardu v té době. Podmíněně vyžadovaný znamená, že port byl hlášen pouze v případě, že neodpovídá výchozímu portu odpovídajícího protokolu (80 pro HTTP, 443 pro HTTPS). Standardní úroveň požadavku atributu se však od té doby změnila na Required
.
Chcete-li zachovat soulad se standardem Open Telemetry a současně zachovat chování nástroje v souladu s ostatními, nástroje http.client.request.duration
a http.client.connection.duration
byly změněny tak http.client.open_connections
, aby bezpodmínečně hlásily server.port
atribut.
Tato změna může narušit stávající dotazy v monitorovacím softwaru, jako je Prometheus.
Zavedená verze
.NET 9 Preview 7
Předchozí chování
http.client.request.duration
, http.client.connection.duration
a http.client.open_connections
ohlásil server.port
atribut pouze v případě, že neodpovídá výchozímu portu odpovídajícího protokolu (80 pro HTTP, 443 pro HTTPS).
Nové chování
Atribut server.port
je nyní bezpodmínečně hlášen nástroji http.client.request.duration
, http.client.connection.duration
a http.client.open_connections
.
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Tato změna zachovává soulad se specifikací Open Telemetry a přitom udržuje HttpClient
nástroje konzistentní s ostatními.
Doporučená akce
Pokud se nespoléháte na metriky HttpClient, není potřeba žádná akce. Pokud použijete http.client.request.duration
nástroj , http.client.connection.duration
nebo http.client.open_connections
nástroje, může tato změna narušit stávající dotazy v monitorovacím softwaru, jako je Prometheus.
Ovlivněná rozhraní API
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)