Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.duration
e 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.duration
e 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.duration
e 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.duration
ou 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)