HttpClient 指标无条件报告server.port

在 .NET 8 中添加 HttpClient 指标server.port会根据当时的标准状态作为属性引入Conditionally Required。 有条件地要求意味着仅当端口与相应协议的默认端口不匹配(对于 HTTP,443 表示 HTTPS)时才报告该端口。 但是,属性的标准要求级别已更改为 Required

为了保持与开放遥测标准的符合性,同时保持检测器的行为彼此一致,仪器http.client.request.durationhttp.client.connection.durationhttp.client.open_connections工具已更改为无条件地报告server.port属性。

此更改可能会中断监视软件(如 Prometheus)中的现有查询。

引入的版本

.NET 9 预览版 7

旧行为

http.client.request.durationhttp.client.connection.duration并且 http.client.open_connections 仅当属性与相应的协议的默认端口(HTTP 为 80,对于 HTTPS 为 443)时,才报告 server.port 该属性。

新行为

server.port 属性现在由仪器 http.client.request.duration无条件报告, http.client.connection.duration并且 http.client.open_connections

中断性变更的类型

此更改为行为更改

更改原因

此更改保持与 开放遥测规范 的符合性,同时保持 HttpClient 仪器彼此一致。

如果不依赖于 HttpClient 指标,则无需执行任何操作。 如果使用或http.client.request.durationhttp.client.connection.durationhttp.client.open_connections工具,此更改可能会中断监视软件(如 Prometheus)中的现有查询。

受影响的 API