Dela via


Inbyggda aktiviteter i .NET

Det här är en referens för distribuerad spårning aktiviteter som genereras internt av . NET:s inbyggda ActivitySource instanser.

System.Net aktiviteter

Dricks

En omfattande guide om hur du samlar in och rapporterar System.Net spårningar finns i Distribuerade nätverksspårningar i .NET.

HTTP-klientbegäran

SocketsHttpHandler och HttpClientHandler rapportera aktiviteten för HTTP-klientbegäran enligt rekommendationerna i OpenTelemetry HTTP-klientsemantiska konventioner. Den beskriver HTTP-begäran som skickas av HttpClientskickar överlagringar under tidsintervallet som den underliggande hanteraren slutför begäran. När du slutför begäran kan du läsa svarshuvuden från nätverksströmmen. Det inkluderar inte den tid som ägnas åt att läsa svarstexten. SocketsHttpHandler kan försöka begäranden igen, till exempel vid anslutningsfel eller nedgradering av HTTP-version. Återförsök rapporteras inte som separata HTTP-klientbegäran aktiviteter.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ System.Net.Http System.Net.Http.HttpRequestOut {HTTP method}

Not

Den System.Net.Http.HttpRequestOut aktiviteten är faktiskt tillgänglig i tidigare versioner av .NET, men dess Status, DisplayNameoch attribut (taggar) fylls bara i från och med .NET 9. I tidigare versioner rekommenderas OpenTelemetry.Instrumentation.Http-paketet för att fylla luckorna i den inbyggda instrumentationen.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
http.request.method string HTTP-begärandemetod. [1] GET; POST; HEAD; _OTHER Alltid
server.address string Värdidentifierare för "URI-ursprung" HTTP-begäran skickas till. example.com; 10.1.2.80 Alltid
server.port int Portidentifierare för "URI-ursprung" HTTP-begäran skickas till. 80; 8080; 443 Alltid
url.full string Absolut URL som beskriver en nätverksresurs enligt RFC3986 [2] https://www.foo.bar/search?q=* Alltid
error.type string Orsak till fel vid begäran: ett av HTTP-begärandefel i snake_case, eller en fullständig undantagstyp eller en HTTP 4xx/5xx-statuskod. System.OperationCanceledException; name_resolution_error; secure_connection_error ; 404 Om begäran har misslyckats.
http.request.method_original string Den ursprungliga HTTP-metoden som skickades av klienten på begäranderaden. ACL; foo Om http.request.method inte är en välkänd metod.
http.response.status_code int HTTP-svarsstatuskod. 200 Om svaret togs emot.
network.protocol.version string Version av HTTP-protokollet som används. 1.1; 2 Om svaret togs emot.

[1] http.request.method: Värdet innehåller metodnamnet, om metoden är en av de välkända metoder som anges i RFC9110; annars är värdet _OTHER. De användaringivna metodnamnen mappas till kända namn på ett skiftlägesokänsligt sätt. Om användaren till exempel anger namnet GeTmappas det till GEToch http.request.method_original fylls inte i.

[2] url.full: För att undvika att hemligheter läcker redigeras värdet som standard: hela frågan ersätts med ett * tecken och användarinformationen & fragment tas bort. Mer information och avaktiveringsväxlar finns i URI-redigering av icke-bakåtkompatibla ändringsdokument.

HTTP-klientbegäran: vänta på anslutning (experimentell)

Den här aktiviteten är underordnad en HTTP-klientbegäran aktivitet. Den representerar tidsintervallet som motsvarande begäran väntar på en tillgänglig anslutning i begärandekön. Om en kostnadsfri anslutning är tillgänglig i poolen när begäran kommer in skapas ingen vänta på anslutning aktivitet. Observera att väntar på anslutning inte representerar den faktiska anslutningsanläggningen. som modelleras av HTTP-anslutningskonfiguration aktivitet. SocketsHttpHandler kan försöka begäranden igen, till exempel vid anslutningsfel eller nedgradering av HTTP-version. Återförsök rapporteras inte som separata HTTP-klientbegäran aktiviteter. Varje nytt anslutningsförsök resulterar dock i en ny vänta på anslutning aktivitet under den överordnade begärandeaktiviteten.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.WaitForConnection HTTP wait_for_connection {address}:{port}

Dricks

Den tid det tar att hämta en anslutning från poolen rapporteras också av måttet http.client.request.time_in_queue.

Varning

Den här aktiviteten är experimentell. Den kan ändras eller tas bort i en framtida version.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
error.type string Orsaken till anslutningsfelet: ett av HTTP-begärandefel i snake_case eller en fullständig undantagstyp. System.OperationCanceledException; name_resolution_error; secure_connection_error Om anslutningsförsöket misslyckas.

Konfiguration av HTTP-anslutning (experimentell)

Den här aktiviteten beskriver inrättandet av en HTTP-anslutning. Detta inkluderar vanligtvis den tid det tar att lösa DNS, upprätta socketanslutningen och utföra TLS-handskakningen.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.ConnectionSetup HTTP connection_setup {address}:{port}

Det finns ingen överordnad-underordnad relation mellan HTTP-klientbegäran och HTTP-anslutningskonfiguration aktiviteter. det senare kommer alltid att vara en rotaktivitet som lever i ett separat spår. Men om anslutningsförsöket som representeras av HTTP-anslutningskonfigurationen resulterar i en lyckad HTTP-anslutning och anslutningen hämtas av en begäran om att hantera den, lägger instrumentationen till en ActivityLink till HTTP-klientbegäran aktivitet som pekar på HTTP-anslutningskonfiguration aktivitet. Det vill: varje begäran är länkad till den anslutning som hanterade begäran.

Not

Om HTTP-anslutningskonfigurationen misslyckas länkas den inte till någon HTTP-klientbegäran.

Varning

Den här aktiviteten är experimentell. Den kan ändras eller tas bort i en framtida version.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
error.type string Orsak till anslutningsfel: ett av HTTP-begärandefel i snake_case eller en fullständig undantagstyp. System.Net.Sockets.SocketException; name_resolution_error; secure_connection_error Om anslutningsförsöket misslyckas.
network.peer.address string Peer-IP-adress för socketanslutningen. 10.5.3.2 Om anslutningsförsöket lyckas.
server.address string Värdidentifierare för "URI-ursprung" den första HTTP-begäran skickas till. example.com Alltid
server.port int Portidentifierare för "URI-ursprung" den första HTTP-begäran skickas till. Alltid
url.scheme string Det URI-schemat komponent som identifierar det använda protokollet. http; https Alltid

DNS-sökning (experimentell)

Den här aktiviteten beskriver DNS-sökningar som utförs via Dns-anrop. Det motsvarar det hanterade anropet och inte de fysiska DNS-sökningar som utförs av den underliggande OS-matcharen. När DNS-sökning aktivitet rapporteras tillsammans med en HTTP-anslutningskonfiguration aktivitet, blir DNS-sökning underordnad HTTP-anslutningskonfiguration.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ Experimental.System.Net.NameResolution Experimental.System.Net.NameResolution.DnsLookup DNS [reverse] lookup {question}

Dricks

Varaktigheten för DNS-sökning rapporteras också av måttet dns.lookup.duration.

Varning

Den här aktiviteten är experimentell. Den kan ändras eller tas bort i en framtida version.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
error.type string Felkoden eller undantagsnamnet. [1] host_not_found Om sökningen misslyckas.
dns.answers string[] Lista över matchade IP-adresser (för DNS-sökning) eller ett enda element som innehåller domännamn (för omvänd sökning). ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] Om sökningen lyckas.
dns.question.name string Domännamnet eller en IP-adress som efterfrågas. example.com Alltid

[1]: Värdet är antingen en DNS-relaterad SocketError i snake_case (host_not_found, try_again, no_recovery, address_family_not_supported) eller ett fullständigt undantagsnamn.

Socket connect (experimentell)

Den här aktiviteten beskriver inrättandet av en Socket anslutning via Connect eller ConnectAsync. När aktiviteten socket connect rapporteras tillsammans med en HTTP-anslutningskonfiguration aktivitet blir socketanslutning underordnad KONFIGURATION av HTTP-anslutning.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ Experimental.System.Net.Sockets Experimental.System.Net.Sockets.Connect socket connect {address}[:{port}]

Varning

Den här aktiviteten är experimentell. Den kan ändras eller tas bort i en framtida version.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
error.type string SocketError i snake_case. address_already_in_use; connection_refused Om socketanslutningsförsöket misslyckas.
network.peer.address string Peeradress för nätverksanslutningen – IP-adress eller Unix-domännamn. 10.5.3.2; /tmp/my.sock IP- och UDS-socketar.
network.peer.port int Peerportnummer för IP-anslutningen. 65123 IP-socketar.
network.transport string OSI-transportlager eller kommunikationsmetod mellan processer. tcp; udp; unix IP- och UDS-socketar.
network.type string OSI-nätverksskiktet eller icke-OSI-motsvarighet. ipv4; ipv6 IP-socketar.

TLS-handskakning (experimentell)

Den här aktiviteten beskriver TLS-klientens eller serverns handskakning som utförs via SslStreamautentiseringsmetoder. När TLS-handskakning aktivitet rapporteras för autentisering på klientsidan tillsammans med http-anslutningskonfiguration aktivitet blir TLS-handskakning underordnad HTTP-anslutningskonfiguration.

Tillgänglighet ActivitySource namn OperationName DisplayName
.NET 9+ Experimental.System.Net.Security Experimental.System.Net.Security.TlsHandshake TLS client handshake {host} TLS server handshake

Varning

Den här aktiviteten är experimentell. Den kan ändras eller tas bort i framtida versioner.

Attribut (taggar)

Attribut Typ Beskrivning Exempel Närvaro
error.type string Beskriver en felklass som åtgärden avslutades med. System.Net.Security.Authentication.AuthenticationException; System.OperationCanceledException Om handskakningen misslyckas.
server.address string Den servernamnsindikatorn (SNI) som används i meddelandet "Client Hello" under TLS-handskakningen. example.com När du autentiserar som klient.
tls.protocol.name string Normaliserat protokollnamn med gemener parsat från den ursprungliga strängen i den förhandlade SSL/TLS-protokollversion ssl; tls När protokollinformationen är tillgänglig.
tls.protocol.version string Numerisk del av den version som parsats från den ursprungliga strängen i den förhandlade SSL/TLS-protokollversion 1.2; 1.3 När protokollinformationen är tillgänglig.