Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Relatório de métricas
Quando as métricas HttpClient foram adicionadas no .NET 8, server.port foi introduzido como um Conditionally Required atributo de acordo com o estado do padrão naquele momento. Ser condicionalmente necessário significava que a porta só era relatada se não correspondesse à porta padrão do protocolo correspondente (80 para HTTP, 443 para HTTPS). No entanto, o nível de requisito padrão do atributo foi alterado para Required.
Para manter a conformidade com o padrão de Telemetria Aberta, mantendo os comportamentos do instrumento consistentes entre si, os instrumentos http.client.request.duration, http.client.connection.duratione http.client.open_connections foram alterados para relatar incondicionalmente o server.port atributo.
Essa alteração pode quebrar consultas existentes em softwares de monitoramento como o Prometheus.
Versão introduzida
.NET 9 Visualização 7
Comportamento anterior
http.client.request.duration, http.client.connection.duratione http.client.open_connections relatou o server.port atributo somente se ele não corresponder à porta padrão do protocolo correspondente (80 para HTTP, 443 para HTTPS).
Novo comportamento
O server.port atributo é agora incondicionalmente relatado pelos instrumentos http.client.request.duration, http.client.connection.duratione http.client.open_connections.
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
A alteração mantém a conformidade com a especificaçãoinstrumentos consistentes entre si.
Ação recomendada
Nenhuma ação será necessária se você não confiar nas métricas do HttpClient. Se você usar o , http.client.request.durationou http.client.connection.duration instrumentos, essa alteração pode quebrar consultas existentes em software de monitoramento como Prometheushttp.client.open_connections.
APIs afetadas
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)