Megosztás a következőn keresztül:


Beépített tevékenységek a .NET-ben

Ez az elosztott nyomkövetési tevékenységekre vonatkozó hivatkozás, natív módon bocsát ki. A NET beépített ActivitySource példányai.

System.Net tevékenységek

Borravaló

A System.Net nyomkövetések gyűjtéséről és jelentéséről a .NET-Hálózatkezelés elosztott nyomkövetései című témakörben talál átfogó útmutatót.

HTTP-ügyfélkérés

SocketsHttpHandler és HttpClientHandler az OpenTelemetry HTTP ügyfélszemantikai konvenciókbanmeghatározott javaslatokat követve jelenti a HTTP-ügyfélkérési tevékenységet. Ismerteti a HttpClientáltal küldött HTTP-kérést, amely túlterheltségeket küld a mögöttes kezelő által a kérés befejezésének időtartama alatt. A kérés végrehajtása magában foglalja a válaszfejlécek hálózati streamből való olvasásának idejét. Nem tartalmazza a válasz törzsének olvasásával töltött időt. SocketsHttpHandler újrapróbálkozhatnak a kérések, például csatlakozási hibák vagy HTTP-verzió-visszalépések esetén. Az újrapróbálkozásokat a rendszer nem külön HTTP-ügyfélkérésként tevékenységekként jelenti.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ System.Net.Http System.Net.Http.HttpRequestOut {HTTP method}

Jegyzet

A System.Net.Http.HttpRequestOut tevékenység valójában a .NET korábbi verzióiban érhető el, azonban a Status, a DisplayNameés az attribútumok (címkék) csak a .NET 9-től kezdve vannak feltöltve. A korábbi verziókban az OpenTelemetry.Instrumentation.Http csomag használata ajánlott a beépített rendszerállapot réseinek kitöltéséhez.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
http.request.method string HTTP-kérési módszer. [1] GET; POST; HEAD; _OTHER Mindig
server.address string A rendszer elküldi az "URI-forrás" gazdagépazonosítóját, HTTP-kérést küld a rendszer. example.com; 10.1.2.80 Mindig
server.port int A rendszer elküldi az "URI-forrás" portazonosítóját, HTTP-kérést küld a rendszer. 80; 8080; 443 Mindig
url.full string Hálózati erőforrást leíró abszolút URL-cím RFC3986 szerint [2] https://www.foo.bar/search?q=* Mindig
error.type string A kérés sikertelenségének oka: az egyik HTTP-kérési hiba snake_case, vagy egy teljes kivételtípus vagy EGY HTTP 4xx/5xx állapotkód. System.OperationCanceledException; name_resolution_error; secure_connection_error; 404 Ha a kérés sikertelen volt.
http.request.method_original string Az ügyfél által a kérelemsorban küldött eredeti HTTP-metódus. ACL; foo Ha http.request.method nem ismert módszer.
http.response.status_code int HTTP-válasz állapotkódját. 200 Ha válasz érkezett.
network.protocol.version string A használt HTTP-protokoll verziója. 1.1; 2 Ha válasz érkezett.

[1] http.request.method: Az érték tartalmazza a metódus nevét, ha a metódus a RFC9110felsorolt ismert módszerek egyike; ellenkező esetben az érték _OTHER. A felhasználó által megadott metódusnevek a kis- és nagybetűk megkülönböztetése miatt ismert nevekre vannak leképezve. Ha például a felhasználó megadja a nevet GeT, az GETlesz leképezve, és a http.request.method_original nem lesz kitöltve.

[2] url.full: A titkos kódok kiszivárogtatásának elkerülése érdekében az érték alapértelmezés szerint újra meg van adva: a teljes lekérdezést egy * karakterre cseréli, és a felhasználói adatok & töredék el lesz távolítva. További információkért és kikapcsolási kapcsolókért tekintse meg az URI újrabontási kompatibilitástörő módosítási dokumentumát.

HTTP-ügyfélkérés: várakozás a kapcsolatra (kísérleti)

Ez a tevékenység egy HTTP-ügyfélkérés tevékenység gyermeke. Ez azt az időintervallumot jelöli, amikor a megfelelő kérés egy elérhető kapcsolatra vár a kérelemsorban. Ha a kérés érkezésekor ingyenes kapcsolat érhető el a készletben, nem kell várni a kapcsolat tevékenység létrehozására. Vegye figyelembe, hogy várakozás a kapcsolati nem a tényleges kapcsolatlétrehozásra vonatkozik; amelyet a HTTP-kapcsolat beállítása tevékenység modellezett. SocketsHttpHandler újrapróbálkozhatnak a kérések, például csatlakozási hibák vagy HTTP-verzió-visszalépések esetén. Az újrapróbálkozásokat a rendszer nem külön HTTP-ügyfélkérésként tevékenységekként jelenti; Azonban minden új kapcsolati kísérlet új vár a kapcsolati tevékenységre a szülőkérelemben.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.WaitForConnection HTTP wait_for_connection {address}:{port}

Borravaló

A http.client.request.time_in_queue metrika azt is jelenti, hogy mennyi ideig tart a kapcsolat lekérése a készletből.

Figyelmeztetés

Ez a tevékenység kísérleti jellegű. Lehetséges, hogy egy későbbi verzióban módosítják vagy törlik.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
error.type string A kapcsolati hiba oka: az egyik HTTP-kérési hiba snake_case, vagy egy teljes kivételtípus. System.OperationCanceledException; name_resolution_error; secure_connection_error Ha a csatlakozási kísérlet meghiúsul.

HTTP-kapcsolat beállítása (kísérleti)

Ez a tevékenység egy HTTP-kapcsolat létrehozását ismerteti. Ez általában magában foglalja a DNS feloldásához, a szoftvercsatorna-kapcsolat létrehozásához és a TLS-kézfogás végrehajtásához szükséges időt.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.ConnectionSetup HTTP connection_setup {address}:{port}

Nincs szülő-gyermek kapcsolat a HTTP-ügyfélkérési és a HTTP-kapcsolat beállítása tevékenységek között; az utóbbi mindig egy gyökértevékenység lesz, amely külön nyomokban él. Ha azonban a HTTP-kapcsolat beállítása által képviselt kapcsolati kísérlet sikeres HTTP-kapcsolatot eredményez, és ezt a kapcsolatot egy kiszolgálói kérés veszi fel, a rendszerállapot hozzáad egy ActivityLink a HTTP-ügyfélkéréshez tevékenységhez, amely a HTTP-kapcsolat beállítására tevékenységre mutat. Vagyis minden kérés a kérést kézbesítő kapcsolathoz van csatolva.

Jegyzet

Ha HTTP-kapcsolat beállítása sikertelen, nem lesz csatolva HTTP-ügyfélkéréshez.

Figyelmeztetés

Ez a tevékenység kísérleti jellegű. Lehetséges, hogy egy későbbi verzióban módosítják vagy törlik.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
error.type string Kapcsolati hiba oka: az egyik HTTP-kérési hiba snake_case, vagy egy teljes kivételtípus. System.Net.Sockets.SocketException; name_resolution_error; secure_connection_error Ha a csatlakozási kísérlet meghiúsul.
network.peer.address string A szoftvercsatorna-kapcsolat társ IP-címe. 10.5.3.2 Ha a kapcsolati kísérlet sikeres.
server.address string Az "URI-forrás" gazdagépazonosítója a kezdeti HTTP-kérés elküldése. example.com Mindig
server.port int Az "URI-forrás" portazonosítója a rendszer elküldi a kezdeti HTTP-kérést. Mindig
url.scheme string Az URI-séma a használt protokollt azonosító összetevőt. http; https Mindig

DNS-keresés (kísérleti)

Ez a tevékenység Dns hívásokon keresztül végrehajtott DNS-kereséseket ismerteti. Ez a felügyelt hívásnak felel meg, nem pedig a mögöttes operációsrendszer-feloldó által végzett fizikai DNS-keresésnek. Amikor a DNS-keresési tevékenységet egy HTTP-kapcsolatbeállítási tevékenységgel együtt jelenti, DNS-keresésiHTTP-kapcsolat beállításánakgyermekévé válik.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ Experimental.System.Net.NameResolution Experimental.System.Net.NameResolution.DnsLookup DNS [reverse] lookup {question}

Borravaló

A DNS-keresés időtartamát a dns.lookup.duration metrika is jelenti.

Figyelmeztetés

Ez a tevékenység kísérleti jellegű. Lehetséges, hogy egy későbbi verzióban módosítják vagy törlik.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
error.type string A hibakód vagy a kivétel neve. [1] host_not_found Ha a keresés sikertelen.
dns.answers string[] A feloldott IP-címek listája (DNS-keresés esetén) vagy egy tartománynevet tartalmazó elem (fordított keresés esetén). ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] Ha a keresés sikeres.
dns.question.name string A lekérdezett tartománynév vagy IP-cím. example.com Mindig

[1]: Az érték vagy DNS-hez kapcsolódó SocketError snake_case (host_not_found, try_again, no_recovery, address_family_not_supported) vagy teljes kivételnév.

Szoftvercsatorna csatlakoztatása (kísérleti)

Ez a tevékenység egy Socket kapcsolat létrehozását ismerteti Connect vagy ConnectAsynckeresztül. Ha a szoftvercsatorna csatlakoztatási tevékenység és egy HTTP-kapcsolat beállítása tevékenység, szoftvercsatornák csatlakoztatásaHTTP-kapcsolatbeállításigyermekévé válik.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ Experimental.System.Net.Sockets Experimental.System.Net.Sockets.Connect socket connect {address}[:{port}]

Figyelmeztetés

Ez a tevékenység kísérleti jellegű. Lehetséges, hogy egy későbbi verzióban módosítják vagy törlik.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
error.type string A snake_case SocketError. address_already_in_use; connection_refused Ha a szoftvercsatornák csatlakozási kísérlete meghiúsul.
network.peer.address string A hálózati kapcsolat társcíme – IP-cím vagy Unix-tartomány szoftvercsatorna neve. 10.5.3.2; /tmp/my.sock IP- és UDS-aljzatok.
network.peer.port int Az IP-kapcsolat társportszáma. 65123 IP-szoftvercsatornák.
network.transport string OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; udp; unix IP- és UDS-aljzatok.
network.type string OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 IP-szoftvercsatornák.

TLS kézfogás (kísérleti)

Ez a tevékenység az SslStreamhitelesítési módszereivel végrehajtott TLS-ügyfél- vagy kiszolgálói kézfogást ismerteti. Ha a TLS kézfogási tevékenység az ügyféloldali hitelesítéshez, valamint a HTTP-kapcsolatbeállítási tevékenységhez tartozik, TLS-kézfogásHTTP-kapcsolatbeállításigyermekévé válik.

Elérhetőség ActivitySource neve OperationName DisplayName
.NET 9+ Experimental.System.Net.Security Experimental.System.Net.Security.TlsHandshake TLS client handshake {host} TLS server handshake

Figyelmeztetés

Ez a tevékenység kísérleti jellegű. Lehetséges, hogy a jövőbeli verziókban megváltozik vagy törlődik.

Attribútumok (címkék)

Attribútum Típus Leírás Példák Jelenlét
error.type string Egy hibaosztályt ír le, amellyel a művelet befejeződött. System.Net.Security.Authentication.AuthenticationException; System.OperationCanceledException Ha a kézfogás sikertelen.
server.address string A kiszolgálónév-jelzés (SNI) használatos a "Client Hello" üzenetben a TLS kézfogása során. example.com Ügyfélként történő hitelesítéskor.
tls.protocol.name string Normalizált kisbetűs protokoll neve, amely a egyeztetett SSL/TLS protokollverzió eredeti sztringjének ssl; tls Amikor a protokoll adatai elérhetők.
tls.protocol.version string A verzió numerikus része, amely a egyeztetett SSL/TLS protokoll verziójának eredeti sztringjéből van elemezve, 1.2; 1.3 Amikor a protokoll adatai elérhetők.