Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Отчет о метриках
При добавлении метрик HttpClient в .NET 8 server.port в качестве Conditionally Required атрибута в соответствии с состоянием стандарта в то время. Условным требованием означает, что порт был зарегистрирован только в том случае, если он не соответствует порту по умолчанию соответствующего протокола (80 для HTTP, 443 для HTTPS). Однако стандартный уровень требований атрибута с тех пор был изменен Requiredна .
Чтобы обеспечить соответствие стандарту Open Telemetry при сохранении поведения инструмента в соответствии с другими, инструментами http.client.request.durationhttp.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.durationhttp.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)