Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Report
Quando le metriche HttpClient sono state aggiunte in .NET 8, server.port è stato introdotto come Conditionally Required attributo in base allo stato dello standard in quel momento. Essendo obbligatorio in modo condizionale, significa che la porta è stata segnalata solo se non corrisponde alla porta predefinita del protocollo corrispondente (80 per HTTP, 443 per HTTPS). Tuttavia, il livello di requisito standard dell'attributo è stato modificato in Required.
Per mantenere la conformità allo standard Open Telemetry mantenendo i comportamenti dello strumento coerenti tra loro, gli strumenti http.client.request.duration, http.client.connection.duratione http.client.open_connections sono stati modificati in modo non condizionale per segnalare l'attributo server.port .
Questa modifica può interrompere le query esistenti nel software di monitoraggio come Prometheus.
Versione introdotta
.NET 9 Anteprima 7
Comportamento precedente
http.client.request.duration, http.client.connection.duratione http.client.open_connections ha segnalato l'attributo server.port solo se non corrisponde alla porta predefinita del protocollo corrispondente (80 per HTTP, 443 per HTTPS).
Nuovo comportamento
L'attributo server.port è ora segnalato in modo incondizionato dagli strumenti http.client.request.duration, http.client.connection.duratione http.client.open_connections.
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
La modifica mantiene la conformità con la specifica Open Telemetry mantenendo HttpClient gli strumenti coerenti tra loro.
Azione consigliata
Non è necessaria alcuna azione se non si fa affidamento sulle metriche HttpClient. Se si usano gli http.client.request.durationstrumenti , http.client.connection.durationo http.client.open_connections , questa modifica potrebbe interrompere le query esistenti nel software di monitoraggio come Prometheus.
API interessate
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)