metrische gegevens System.Net
In dit artikel worden de ingebouwde metrische netwerkgegevens voor System.Net beschreven met behulp van de System.Diagnostics.Metrics-API. Zie Bekende EventCounters in .NETvoor een lijst met metrische gegevens op basis van de alternatieve EventCounters API.
Fooi
Zie Metrische netwerkgegevens in .NETvoor meer informatie over het verzamelen, rapporteren, verrijken en testen van System.Net metrische gegevens over netwerken.
System.Net.NameResolution
De System.Net.NameResolution
metrische gegevens rapporteren DNS-naamomzetting van Dns:
Metrische gegevens: dns.lookup.duration
Naam | Instrumenttype | Eenheid | Beschrijving |
---|---|---|---|
dns.lookup.duration |
Histogram | s |
Meet de tijd die nodig is om een DNS-zoekopdracht uit te voeren. |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
dns.question.name |
snaar | De naam die wordt opgevraagd. |
www.example.com ; dot.net |
Altijd |
error.type |
snaar | Een bekende fouttekenreeks of de volledige typenaam van een uitzondering die is opgetreden. |
host_not_found ; System.Net.Sockets.SocketException |
Als er een fout is opgetreden |
Deze metrische waarde meet de tijd die nodig is om DNS-aanvragen te maken. Deze aanvragen kunnen optreden door methoden aan te roepen op Dns of indirect binnen API's op een hoger niveau op typen zoals HttpClient.
De meeste fouten bij het uitvoeren van een DNS-zoekopdracht genereren een SocketException. Om de veelvoorkomende foutcases beter te identificeren, krijgen socket-uitzonderingen met specifieke SocketErrorCode expliciete foutnamen in error.type
:
SocketErrorCode | error.type |
---|---|
HostNotFound | host_not_found |
TryAgain | try_again |
AddressFamilyNotSupported | address_family_not_supported |
NoRecovery | no_recovery |
Socket-uitzonderingen met een andere SocketError
-waarde worden gerapporteerd als System.Net.Sockets.SocketException
.
Wanneer u OpenTelemetry gebruikt, worden de standaard buckets voor deze metrische waarde ingesteld op [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].
Beschikbaar vanaf: .NET 8
System.Net.Http
De System.Net.Http
metrische gegevens rapporteren HTTP-aanvraag- en verbindingsgegevens uit System.Net.Http:
http.client.open_connections
http.client.connection.duration
http.client.request.duration
http.client.request.time_in_queue
http.client.active_requests
Metrische gegevens: http.client.open_connections
Naam | Instrumenttype | Eenheid (UCUM) | Beschrijving |
---|---|---|---|
http.client.open_connections |
UpDownCounter | {connection} |
Aantal uitgaande HTTP-verbindingen die momenteel actief of inactief zijn op de client |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
http.connection.state |
snaar | Status van HTTP-verbinding in de HTTP-verbindingsgroep. |
active ; idle |
Altijd |
network.protocol.version |
snaar | Versie van het GEBRUIKTE HTTP-protocol. |
1.1 ; 2 |
Altijd |
server.address |
snaar | Host-id van de 'URI origin' HTTP-aanvraag wordt verzonden. | example.com |
Altijd |
server.port |
Int | Poort-id van de 'URI-oorsprong' HTTP-aanvraag wordt verzonden. |
80 ; 8080 ; 443 |
Als dit niet de standaardinstelling is (80 voor http schema, 443 voor https ) |
network.peer.address |
snaar | Peer-IP-adres van de socketverbinding. | 10.5.3.2 |
Altijd |
url.scheme |
snaar | Het URI-schema onderdeel waarmee het gebruikte protocol wordt geïdentificeerd. |
http ; https ; ftp |
Altijd |
HttpClient, wanneer deze is geconfigureerd voor het gebruik van de standaard-SocketsHttpHandler, onderhoudt een groep netwerkverbindingen in de cache voor het verzenden van HTTP-berichten. Met deze metrische waarde wordt geteld hoeveel verbindingen zich momenteel in de pool bevinden. Actieve verbindingen verwerken actieve aanvragen. Actieve verbindingen kunnen gegevens verzenden of wachten op de client of server. Niet-actieve verbindingen verwerken geen aanvragen, maar blijven open, zodat toekomstige aanvragen sneller kunnen worden verwerkt.
Beschikbaar vanaf: .NET 8
Metrische gegevens: http.client.connection.duration
Naam | Instrumenttype | Eenheid (UCUM) | Beschrijving |
---|---|---|---|
http.client.connection.duration |
Histogram | s |
De duur van het tot stand gebrachte uitgaande HTTP-verbindingen. |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
network.protocol.version |
snaar | Versie van het GEBRUIKTE HTTP-protocol. |
1.1 ; 2 |
Altijd |
server.address |
snaar | Host-id van de 'URI origin' HTTP-aanvraag wordt verzonden. | example.com |
Altijd |
server.port |
Int | Poort-id van de 'URI-oorsprong' HTTP-aanvraag wordt verzonden. |
80 ; 8080 ; 443 |
Als dit niet de standaardinstelling is (80 voor http schema, 443 voor https ) |
network.peer.address |
snaar | IP-adres van de socketverbinding. | 10.5.3.2 |
Altijd |
url.scheme |
snaar | Het URI-schema onderdeel waarmee het gebruikte protocol wordt geïdentificeerd. |
http ; https ; ftp |
Altijd |
Deze metrische waarde wordt alleen vastgelegd wanneer HttpClient is geconfigureerd voor het gebruik van de standaard-SocketsHttpHandler.
Omdat deze metrische waarde de verbindingsduur bijhoudt en http-verbindingen in het ideale geval worden gebruikt voor meerdere aanvragen, moeten de buckets langer zijn dan de buckets die worden gebruikt voor aanvraagduur. Als u bijvoorbeeld [ 0.01, 0.02, 0,05, 0.1, 0.2, 0,5, 1, 2, 5, 10, 30, 60, 120, 300 ] gebruikt, biedt u een bovenste bucket van 5 minuten.
Beschikbaar vanaf: .NET 8
Metrische gegevens: http.client.request.duration
Naam | Instrumenttype | Eenheid (UCUM) | Beschrijving |
---|---|---|---|
http.client.request.duration |
Histogram | s |
De duur van uitgaande HTTP-aanvragen. |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
error.type |
snaar | Reden van aanvraagfout: een van de HTTP-aanvraagfouten in snake_case, of een volledig uitzonderingstype, of een HTTP 4xx/5xx-statuscode. |
System.Threading.Tasks.TaskCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Als de aanvraag is mislukt. |
http.request.method |
snaar | HTTP-aanvraagmethode. |
GET ; POST ; HEAD ; _OTHER [2] |
Altijd |
http.response.status_code |
Int | HTTP-antwoordstatuscode. | 200 |
Als het antwoord is ontvangen. |
network.protocol.version |
snaar | Versie van het GEBRUIKTE HTTP-protocol. |
1.1 ; 2 |
Als het antwoord is ontvangen. |
server.address |
snaar | Host-id van de 'URI origin' HTTP-aanvraag wordt verzonden. | example.com |
Altijd |
server.port |
Int | Poort-id van de 'URI-oorsprong' HTTP-aanvraag wordt verzonden. |
80 ; 8080 ; 443 |
Is afhankelijk van de .NET-versie. [3] |
url.scheme |
snaar | Het URI-schema onderdeel waarmee het gebruikte protocol wordt geïdentificeerd. |
http ; https ; ftp |
Altijd |
[1] error.type
: Als de aanvraag is mislukt, wordt de waarde ingesteld op een van de volgende opties:
- Een uitzonderingsnaam met het type, bijvoorbeeld TaskCanceledException.
- Een statuscode die een client- of serverfout aangeeft, bijvoorbeeld
500
. - Als een HttpRequestException heeft plaatsgevonden met een andere HttpRequestError dan
Unknown
, is de opsommingswaarde in slang bijvoorbeeldname_resolution_error
.
[2] http.request.method
:http.request.method
:** De waarde bevat de naam van de methode als de methode een van de bekende methoden is die worden vermeld in RFC9110; anders wordt de waarde _OTHER
. De door de gebruiker verstrekte methodenamen worden op een niet-hoofdlettergevoelige manier toegewezen aan bekende namen. Als de gebruiker bijvoorbeeld de naam GeT
opgeeft, wordt deze toegewezen aan GET
.
[3] server.port
: De aanwezigheid van de waarde is afhankelijk van de versie:
-
.NET 8-: Indien niet standaard aanwezig (
80
voorhttp
schema,443
voorhttps
) - .NET 9+: Altijd aanwezig
De duur van de HTTP-clientaanvraag meet de tijd die de onderliggende clienthandler nodig heeft om de aanvraag te voltooien. Het voltooien van de aanvraag omvat de tijd voor het lezen van antwoordheaders uit de netwerkstroom. Het bevat niet de tijd die nodig is om de hoofdtekst van het antwoord te lezen.
Wanneer u OpenTelemetry gebruikt, worden de standaard buckets voor deze metrische waarde ingesteld op [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].
Beschikbaar vanaf: .NET 8
Fooi
verrijking is mogelijk voor deze metrische waarde.
Metrische gegevens: http.client.request.time_in_queue
Naam | Instrumenttype | Eenheid (UCUM) | Beschrijving |
---|---|---|---|
http.client.request.time_in_queue |
Histogram | s |
De hoeveelheid tijd die wordt besteed aan een wachtrij die wacht op een beschikbare verbinding. |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
http.request.method |
snaar | HTTP-aanvraagmethode. |
GET ; POST ; HEAD |
Altijd |
network.protocol.version |
snaar | Versie van het GEBRUIKTE HTTP-protocol. |
1.1 ; 2 |
Altijd |
server.address |
snaar | Host-id van de 'URI origin' HTTP-aanvraag wordt verzonden. | example.com |
Altijd |
server.port |
Int | Poort-id van de 'URI-oorsprong' HTTP-aanvraag wordt verzonden. |
80 ; 8080 ; 443 |
Als dit niet de standaardinstelling is (80 voor http schema, 443 voor https ) |
url.scheme |
snaar | Het URI-schema onderdeel waarmee het gebruikte protocol wordt geïdentificeerd. |
http ; https ; ftp |
Altijd |
HttpClient, wanneer deze is geconfigureerd voor het gebruik van de standaard-SocketsHttpHandler, HTTP-aanvragen verzendt met behulp van een groep netwerkverbindingen. Als alle verbindingen bezig zijn met het verwerken van andere aanvragen, worden nieuwe aanvragen in een wachtrij geplaatst en gewacht totdat een netwerkverbinding beschikbaar is voor gebruik. Dit instrument meet de hoeveelheid tijd die HTTP-aanvragen in die wachtrij wachten, voordat er iets via het netwerk wordt verzonden.
Beschikbaar vanaf: .NET 8
Metrische gegevens: http.client.active_requests
Naam | Instrumenttype | Eenheid (UCUM) | Beschrijving |
---|---|---|---|
http.client.active_requests |
UpDownCounter | {request} |
Aantal actieve HTTP-aanvragen. |
Attribuut | Type | Beschrijving | Voorbeelden | Aanwezigheid |
---|---|---|---|---|
http.request.method |
snaar | HTTP-aanvraagmethode. |
GET ; POST ; HEAD |
Altijd |
server.address |
snaar | Host-id van de 'URI origin' HTTP-aanvraag wordt verzonden. | example.com |
Altijd |
server.port |
Int | Poort-id van de 'URI-oorsprong' HTTP-aanvraag wordt verzonden. |
80 ; 8080 ; 443 |
Als dit niet de standaardinstelling is (80 voor http schema, 443 voor https ) |
url.scheme |
snaar | Het URI-schema onderdeel waarmee het gebruikte protocol wordt geïdentificeerd. |
http ; https ; ftp |
Altijd |
Met deze metrische waarde wordt geteld hoeveel aanvragen als actief worden beschouwd. Aanvragen zijn actief voor dezelfde periode die wordt gemeten door het http.client.request.duration instrument.
Beschikbaar vanaf: .NET 8