HttpClient メトリック レポート
.NET 8 で HttpClient メトリック が追加されたとき、 server.port はその時点の標準の状態に従って Conditionally Required 属性として導入されました。 条件付きで要求されることは、ポートが対応するプロトコルの既定のポート (HTTP の場合は 80、HTTPS の場合は 443) と一致しない場合にのみ報告されたことを意味します。 ただし、属性の標準 取得レベル は Requiredに変更されています。
オープンテレメトリ標準に準拠し、機器の動作を互いに一貫性を保つために、インストルメントの http.client.request.duration、 http.client.connection.duration、および http.client.open_connections は、 server.port 属性を無条件で報告するように変更されています。
この変更により、Prometheus などの監視ソフトウェアの既存のクエリが中断される可能性があります。
導入されたバージョン
.NET 9 Preview 7
以前の動作
http.client.request.duration、 http.client.connection.duration、および http.client.open_connections は、対応するプロトコルの既定のポート (HTTP の場合は 80、HTTPS の場合は 443) と一致しない場合にのみ、 server.port 属性を報告しました。
新しい動作
server.port属性は、instruments 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)
.NET