Compartilhar via


Relatório de métricas server.port HttpClient incondicionalmente

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.open_connections foram alterados para relatar incondicionalmente o server.port atributohttp.client.connection.duration.

Essa alteração pode interromper as consultas existentes em softwares de monitoramento como o Prometheus.

Versão introduzida

.NET 9 Preview 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ção Open Telemetry, mantendo HttpClient os instrumentos consistentes entre si.

Nenhuma ação será necessária se você não confiar nas métricas HttpClient. Se você usar os instrumentos , http.client.connection.duration, ou http.client.open_connections , , essa alteração poderá interromper as consultas existentes em software de monitoramento como o http.client.request.durationPrometheus.

APIs afetadas