Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 na época. 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 Open Telemetry e, ao mesmo tempo, manter os comportamentos do instrumento consistentes entre si, os instrumentos http.client.request.duration, , e http.client.connection.duration foram alterados para relatar incondicionalmente o http.client.open_connections atributoserver.port.
Essa alteração pode interromper as consultas existentes em softwares de monitoramento como o Prometheus.
Versão introduzida
.NET 9 Versão Prévia 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 correspondesse à porta padrão do protocolo correspondente (80 para HTTP, 443 para HTTPS).
Novo comportamento
O server.port atributo agora é relatado incondicionalmente pelos instrumentos http.client.request.duration, http.client.connection.duration, e http.client.open_connections.
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da 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 HttpClient. Se você usar os instrumentos , http.client.request.duration, ou http.client.connection.duration , , essa alteração poderá interromper as consultas existentes em software de monitoramento como o http.client.open_connectionsPrometheus.
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)