Partager via


Rapport des métriques server.port HttpClient sans condition

Lorsque les métriques HttpClient ont été ajoutées dans .NET 8, server.port elles ont été introduites en tant qu’attribut Conditionally Required conformément à l’état de la norme à ce moment-là. Étant requis de manière conditionnelle, le port était signalé uniquement s’il ne correspondait pas au port par défaut du protocole correspondant (80 pour HTTP, 443 pour HTTPS). Toutefois, le niveau d’exigence standard de l’attribut a depuis été modifié en Required.

Pour maintenir la conformité avec la norme Open Telemetry tout en gardant les comportements de l’instrument cohérents les uns avec les autres, les instruments http.client.request.duration, http.client.connection.durationet http.client.open_connections ont été modifiés pour signaler inconditionnellement l’attribut server.port .

Cette modification peut interrompre les requêtes existantes dans les logiciels de surveillance comme Prometheus.

Version introduite

.NET 9 Préversion 7

Comportement précédent

http.client.request.duration, http.client.connection.durationet http.client.open_connections signalé l’attribut server.port uniquement s’il ne correspond pas au port par défaut du protocole correspondant (80 pour HTTP, 443 pour HTTPS).

Nouveau comportement

L’attribut server.port est désormais signalé inconditionnellement par les instruments http.client.request.duration, http.client.connection.durationet http.client.open_connections.

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

La modification maintient la conformité avec la spécification Open Telemetry tout en gardant HttpClient les instruments cohérents les uns avec les autres.

Aucune action n’est nécessaire si vous ne vous fiez pas aux métriques HttpClient. Si vous utilisez les instruments ou http.client.connection.durationhttp.client.open_connections les http.client.request.durationinstruments, cette modification peut interrompre les requêtes existantes dans le logiciel de surveillance comme Prometheus.

API affectées