Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vanaf .NET 11 worden de http.client.open_connections en http.client.active_requests metrische gegevens gebruikt ObservableUpDownCounter<T> in plaats van UpDownCounter<T>. Als uw code MeterListener rechtstreeks gebruikt om metingen van deze twee instrumenten te ontvangen, ontvangt uw code deze niet langer via de callback voor de meetgebeurtenis.
Geïntroduceerde versie
.NET 11 RC 1
Vorig gedrag
Voorheen waren http.client.open_connections en http.client.active_requests gewone UpDownCounter<long>-instrumenten.
HttpClient riep Add aan op de teller telkens wanneer een verbinding of verzoek werd gestart of gestopt, zodat een MeterListener die meetgebeurtenissen voor een van beide instrumenten had ingeschakeld, voor elke afzonderlijke Add-aanroep een pushmelding ontving.
Nieuw gedrag
Vanaf .NET 11 zijn http.client.open_connections en http.client.active_requestsObservableUpDownCounter<long> instrumenten.
HttpClient onderhoudt de huidige tellingen intern en rapporteert deze alleen wanneer een verzamelingsprogramma vraagt om de huidige waarde. Een MeterListener waarmee meetgebeurtenissen voor elk van beide instrumenten worden ingeschakeld, verzendt geen afzonderlijke pushmeldingen meer. In plaats daarvan moet u periodiek aanroepen MeterListener.RecordObservableInstruments() om de huidige metingen op aanvraag op te halen.
Hulpprogramma's die al metrische gegevens verzamelen op pull-basis, zoals de OpenTelemetry-SDK, Prometheus-exporteurs, dotnet-countersdotnet-monitoren het Aspire dashboard, worden niet beïnvloed omdat ze al periodiek een steekproef nemen van waarneembare instrumenten.
Type van brekende verandering
Deze wijziging is een gedragswijziging.
Reden voor wijziging
De http.client.open_connections en http.client.active_requests metrische gegevens bevatten tags voor hoge kardinaliteit, zoals server- en peeradressen. Omdat deze metriek gewone tellers betrof, werd elke unieke combinatie van tagwaarden die een monitoringbackend waarnam onbeperkt bewaard en geaggregeerd, wat in sommige monitoringsystemen leidde tot onbeperkte groei van het geheugengebruik en hogere kosten. Met waarneembare tellers kunnen HttpClient de aantallen intern worden bijgehouden, alleen de combinaties rapporteren die momenteel actief zijn en vermeldingen verwijderen waarvan het aantal terugkeert naar nul. Zie de pull-aanvraag die deze wijziging heeft aangebracht en het gerelateerde probleem over kenmerken met een hoge kardinaliteit voor meer informatie.
Aanbevolen actie
Als u MeterListener rechtstreeks gebruikt om http.client.open_connections of http.client.active_requests te lezen, roept u RecordObservableInstruments() aan op uw listener met het interval waarmee u deze meetwaarden wilt samplen, in plaats van uitsluitend te vertrouwen op de callback van de meetgebeurtenis. Als u deze metrische gegevens gebruikt via een hulpprogramma voor het verzamelen van metrische gegevens, een exporteur of het Aspire dashboard, is er geen actie nodig omdat deze hulpprogramma's al waarden ophalen uit waarneembare instrumenten.