Udostępnij za pośrednictwem


Raport server.port metryk httpclient bezwarunkowo

Po dodaniu metryk httpclient na platformie .NET 8 server.port został wprowadzony jako atrybut zgodnie ze stanem Conditionally Required standardu w tym czasie. Warunkowo wymagane oznaczało, że port został zgłoszony tylko wtedy, gdy nie jest zgodny z domyślnym portem odpowiedniego protokołu (80 dla protokołu HTTP, 443 dla protokołu HTTPS). Jednak od tego czasu standardowy poziom wymagań atrybutu został zmieniony na Required.

Aby zachować zgodność ze standardem Open Telemetry przy zachowaniu zachowania instrumentu zgodnego ze sobą, instrumenty http.client.request.duration, http.client.connection.durationi http.client.open_connections zostały zmienione w celu bezwarunkowego zgłaszania atrybutu server.port .

Ta zmiana może przerwać istniejące zapytania w oprogramowaniu do monitorowania, takim jak Prometheus.

Wprowadzona wersja

.NET 9 (wersja zapoznawcza 7)

Poprzednie zachowanie

http.client.request.duration, http.client.connection.durationi http.client.open_connections zgłosił server.port atrybut tylko wtedy, gdy nie jest zgodny z domyślnym portem odpowiedniego protokołu (80 dla protokołu HTTP, 443 dla protokołu HTTPS).

Nowe zachowanie

Atrybut server.port jest teraz bezwarunkowo zgłaszany przez instrumenty http.client.request.duration, http.client.connection.durationi http.client.open_connections.

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Zmiana zachowuje zgodność ze specyfikacją Open Telemetry, zachowując jednocześnie spójność HttpClient instrumentów ze sobą.

Nie jest wymagana żadna akcja, jeśli nie korzystasz z metryk HttpClient. Jeśli używasz instrumentów , lub http.client.open_connections , http.client.connection.durationta zmiana może spowodować przerwanie istniejących zapytań w oprogramowaniu http.client.request.durationdo monitorowania, takim jak Prometheus.

Dotyczy interfejsów API