Отчет о метриках server.port
HttpClient безоговорочно
При добавлении метрик HttpClient в .NET 8 server.port
в качестве Conditionally Required
атрибута в соответствии с состоянием стандарта в то время. Условным требованием означает, что порт был зарегистрирован только в том случае, если он не соответствует порту по умолчанию соответствующего протокола (80 для HTTP, 443 для HTTPS). Однако стандартный уровень требований атрибута с тех пор был изменен Required
на .
Чтобы обеспечить соответствие стандарту Open Telemetry при сохранении поведения инструмента в соответствии с другими, инструментами http.client.request.duration
http.client.connection.duration
и http.client.open_connections
были изменены на безусловное сообщение об атрибутеserver.port
.
Это изменение может нарушить существующие запросы в программном обеспечении мониторинга, например Prometheus.
Представленные версии
.NET 9( предварительная версия 7)
Прежнее поведение
http.client.request.duration
, http.client.connection.duration
и http.client.open_connections
сообщил server.port
атрибут только в том случае, если он не соответствовал порту по умолчанию соответствующего протокола (80 для HTTP, 443 для HTTPS).
Новое поведение
Атрибут server.port
теперь безусловно сообщается инструментами http.client.request.duration
, http.client.connection.duration
и http.client.open_connections
.
Тип критического изменения
Причина изменения
Это изменение поддерживает соответствие спецификации Open Telemetry, сохраняя HttpClient
инструменты в соответствии друг с другом.
Рекомендуемое действие
Если вы не используете метрики HttpClient, не требуется никаких действий. Если вы используете http.client.request.duration
инструменты или http.client.connection.duration
http.client.open_connections
инструменты, это изменение может нарушить существующие запросы в программном обеспечении мониторинга, например Prometheus.
Затронутые API
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)