Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ini adalah referensi untuk aktivitas pelacakan terdistribusi dipancarkan secara asli oleh . Instans ActivitySource bawaan NET.
aktivitas System.Net
Ujung
Untuk panduan komprehensif tentang mengumpulkan dan melaporkan jejak System.Net
, lihat jejak terdistribusi jaringan di .NET.
Permintaan klien HTTP
SocketsHttpHandler dan HttpClientHandler melaporkan aktivitas permintaan klien HTTP setelah rekomendasi yang ditentukan dalam OpenTelemetry Konvensi Semantik Klien HTTP. Ini menjelaskan permintaan HTTP yang dikirim oleh HttpClientkirim kelebihan beban selama interval waktu yang mendasar handler menyelesaikan permintaan. Menyelesaikan permintaan mencakup waktu hingga membaca header respons dari aliran jaringan. Ini tidak termasuk waktu yang dihabiskan untuk membaca isi respons. SocketsHttpHandler dapat mencoba kembali permintaan, misalnya, pada kegagalan koneksi atau penurunan versi HTTP. Percobaan ulang tidak dilaporkan sebagai permintaan klien HTTP terpisah aktivitas.
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | System.Net.Http |
System.Net.Http.HttpRequestOut |
{HTTP method} |
Nota
Aktivitas System.Net.Http.HttpRequestOut
sebenarnya tersedia pada versi .NET sebelumnya, namun Status, DisplayName, dan atribut (tag) hanya diisi dimulai dengan .NET 9. Pada versi sebelumnya, paket OpenTelemetry.Instrumentation.Http disarankan untuk mengisi kesenjangan instrumentasi bawaan.
Atribut (tag)
Atribut | Jenis | Deskripsi | Contoh | Kehadiran |
---|---|---|---|---|
http.request.method |
string |
Metode permintaan HTTP. [1] |
GET ; POST ; HEAD ; _OTHER |
Selalu |
server.address |
string |
Pengidentifikasi host "asal URI" permintaan HTTP dikirim. |
example.com ; 10.1.2.80 |
Selalu |
server.port |
int |
Pengidentifikasi port "asal URI" permintaan HTTP dikirim. |
80 ; 8080 ; 443 |
Selalu |
url.full |
string |
URL absolut yang menjelaskan sumber daya jaringan sesuai dengan RFC3986 [2] | https://www.foo.bar/search?q=* |
Selalu |
error.type |
string |
Alasan kegagalan permintaan: salah satu kesalahan permintaan HTTP di snake_case, atau jenis pengecualian penuh, atau kode status HTTP 4xx/5xx. |
System.OperationCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Jika permintaan gagal. |
http.request.method_original |
string |
Metode HTTP asli yang dikirim oleh klien di baris permintaan. |
ACL ; foo |
Jika http.request.method bukan metode terkenal. |
http.response.status_code |
int |
kode status respons HTTP. | 200 |
Jika respons diterima. |
network.protocol.version |
string |
Versi protokol HTTP yang digunakan. |
1.1 ; 2 |
Jika respons diterima. |
[1] http.request.method
: Nilai berisi nama metode, jika metode adalah salah satu metode terkenal yang tercantum dalam RFC9110; jika tidak, nilainya adalah _OTHER
. Nama metode yang disediakan pengguna dipetakan ke nama yang diketahui dengan cara yang tidak peka huruf besar/kecil. Misalnya, jika pengguna memberikan nama GeT
, itu akan dipetakan ke GET
, dan http.request.method_original
tidak akan diisi.
[2] url.full
: Untuk menghindari kebocoran rahasia, nilai diredaksi secara default: seluruh kueri diganti dengan karakter *
dan info pengguna & fragmen dihapus. Untuk informasi selengkapnya dan pengalihan penolakan, lihat dokumen perubahan pemecahan redaksi URI .
Permintaan klien HTTP: tunggu koneksi (eksperimental)
Aktivitas ini adalah anak dari permintaan klien HTTP aktivitas. Ini mewakili interval waktu permintaan yang sesuai sedang menunggu koneksi yang tersedia dalam antrean permintaan. Jika koneksi gratis tersedia di kumpulan saat permintaan masuk, tidak ada menunggu koneksi aktivitas akan dibuat. Perhatikan bahwa menunggu koneksi tidak mewakili pembentukan koneksi aktual; yang dimodelkan oleh pengaturan koneksi HTTP aktivitas. SocketsHttpHandler dapat mencoba kembali permintaan, misalnya, pada kegagalan koneksi atau penurunan versi HTTP. Percobaan ulang tidak dilaporkan sebagai permintaan klien HTTP terpisah aktivitas; namun, setiap upaya koneksi baru akan mengakibatkan baru menunggu aktivitas koneksi di bawah aktivitas permintaan induk.
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.WaitForConnection |
HTTP wait_for_connection {address}:{port} |
Ujung
Waktu yang diperlukan untuk mendapatkan koneksi dari kumpulan juga dilaporkan oleh metrik http.client.request.time_in_queue
.
Peringatan
Aktivitas ini bersifat eksperimental. Ini mungkin diubah atau dihapus dalam versi yang akan datang.
Atribut (tag)
Penyiapan koneksi HTTP (eksperimental)
Aktivitas ini menjelaskan pembentukan koneksi HTTP. Biasanya, ini termasuk waktu yang diperlukan untuk menyelesaikan DNS, membuat koneksi soket, dan melakukan jabat tangan TLS.
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.ConnectionSetup |
HTTP connection_setup {address}:{port} |
Tidak ada hubungan induk-anak antara permintaan klien HTTP
Nota
Jika penyiapan koneksi HTTP
Peringatan
Aktivitas ini bersifat eksperimental. Ini mungkin diubah atau dihapus dalam versi yang akan datang.
Atribut (tag)
Atribut | Jenis | Deskripsi | Contoh | Kehadiran |
---|---|---|---|---|
error.type |
string |
Alasan kegagalan koneksi: salah satu kesalahan permintaan HTTP di snake_case, atau jenis pengecualian penuh. |
System.Net.Sockets.SocketException ; name_resolution_error ; secure_connection_error |
Jika upaya koneksi gagal. |
network.peer.address |
string |
Alamat IP serekan koneksi soket. | 10.5.3.2 |
Jika upaya koneksi berhasil. |
server.address |
string |
Pengidentifikasi host "asal URI" permintaan HTTP awal dikirim. | example.com |
Selalu |
server.port |
int |
Pengidentifikasi port "asal URI" permintaan HTTP awal dikirim. | Selalu | |
url.scheme |
string |
Skema URI komponen yang mengidentifikasi protokol yang digunakan. |
http ; https |
Selalu |
Pencarian DNS (eksperimental)
Aktivitas ini menjelaskan pencarian DNS yang dilakukan melalui panggilan Dns. Ini sesuai dengan panggilan terkelola dan bukan pencarian DNS fisik yang dilakukan oleh pemecah masalah OS yang mendasar. Saat aktivitas pencarian DNS
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.NameResolution |
Experimental.System.Net.NameResolution.DnsLookup |
DNS [reverse] lookup {question} |
Ujung
Durasi pencarian DNS juga dilaporkan oleh metrik dns.lookup.duration
.
Peringatan
Aktivitas ini bersifat eksperimental. Ini mungkin diubah atau dihapus dalam versi yang akan datang.
Atribut (tag)
Atribut | Jenis | Deskripsi | Contoh | Kehadiran |
---|---|---|---|---|
error.type |
string |
Kode kesalahan atau nama pengecualian. [1] | host_not_found |
Jika pencarian gagal. |
dns.answers |
string[] |
Daftar alamat IP yang diselesaikan (untuk pencarian DNS) atau elemen tunggal yang berisi nama domain (untuk pencarian terbalik). | ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] |
Jika pencarian berhasil. |
dns.question.name |
string |
Nama domain atau alamat IP yang sedang dikueri. | example.com |
Selalu |
[1]: Nilainya adalah SocketError terkait DNS di snake_case (host_not_found
, try_again
, no_recovery
, address_family_not_supported
), atau nama pengecualian lengkap.
Koneksi soket (eksperimental)
Aktivitas ini menjelaskan pembentukan koneksi Socket melalui Connect atau ConnectAsync. Ketika aktivitas koneksi soket
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Sockets |
Experimental.System.Net.Sockets.Connect |
socket connect {address}[:{port}] |
Peringatan
Aktivitas ini bersifat eksperimental. Ini mungkin diubah atau dihapus dalam versi yang akan datang.
Atribut (tag)
Atribut | Jenis | Deskripsi | Contoh | Kehadiran |
---|---|---|---|---|
error.type |
string |
SocketError di snake_case. |
address_already_in_use ; connection_refused |
Jika upaya koneksi soket gagal. |
network.peer.address |
string |
Alamat serekan koneksi jaringan - Alamat IP atau nama soket domain Unix. |
10.5.3.2 ; /tmp/my.sock |
Soket IP dan UDS. |
network.peer.port |
int |
Nomor port serekan koneksi IP. | 65123 |
Soket IP. |
network.transport |
string |
lapisan transportasi OSI atau metode komunikasi antar-proses . |
tcp ; udp ; unix |
Soket IP dan UDS. |
network.type |
string |
lapisan jaringan OSI atau setara non-OSI. |
ipv4 ; ipv6 |
Soket IP. |
Jabat tangan TLS (eksperimental)
Aktivitas ini menjelaskan jabat tangan klien atau server TLS yang dilakukan melalui metode autentikasi SslStream. Ketika aktivitas jabat tangan TLS
Ketersediaan | nama ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Security |
Experimental.System.Net.Security.TlsHandshake |
TLS client handshake {host} -atau- TLS server handshake |
Peringatan
Aktivitas ini bersifat eksperimental. Ini mungkin diubah atau dihapus dalam versi mendatang.
Atribut (tag)
Atribut | Jenis | Deskripsi | Contoh | Kehadiran |
---|---|---|---|---|
error.type |
string |
Menjelaskan kelas kesalahan yang diakhir oleh operasi. |
System.Net.Security.Authentication.AuthenticationException ; System.OperationCanceledException |
Jika jabat tangan gagal. |
server.address |
string |
Indikasi nama server (SNI) digunakan dalam pesan 'Client Hello' selama jabat tangan TLS. | example.com |
Saat mengautentikasi sebagai klien. |
tls.protocol.name |
string |
Nama protokol huruf kecil yang dinormalisasi diurai dari string asli versi protokol SSL/TLS yang dinegosiasikan |
ssl ; tls |
Ketika info protokol tersedia. |
tls.protocol.version |
string |
Bagian numerik dari versi yang diurai dari string asli versi protokol SSL/TLS yang dinegosiasikan |
1.2 ; 1.3 |
Ketika info protokol tersedia. |