Aracılığıyla paylaş


.NET'teki yerleşik etkinlikler

Bu, tarafından yerel olarak yayılan dağıtılmış izleme etkinliklerine yönelik bir başvurudur. NET'in yerleşik örnekleri.

System.Net etkinlikleri

Bahşiş

System.Net izlemelerini toplama ve raporlama hakkında kapsamlı bir kılavuz için bkz. .NET 'de ağ dağıtılmış izlemelerini.

HTTP istemci isteği

SocketsHttpHandler ve HttpClientHandler, OpenTelemetry HTTP İstemci Anlam Kuralları'nde tanımlanan önerileri izleyerek HTTP istemci isteği etkinliğini rapor eder. HttpClienttarafından gönderilen HTTP isteğinin, temel işleyicinin isteği tamamladığı zaman aralığı boyunca aşırı yükleme göndermesini açıklar. İsteğin tamamlanması, ağ akışından yanıt üst bilgilerini okumaya kadar geçen süreyi içerir. Yanıt gövdesini okumak için harcanan zamanı içermez. SocketsHttpHandler, bağlantı hataları veya HTTP sürümü düşürmeleri gibi istekleri yeniden deneyebilir. Yeniden denemeler ayrı HTTP istemci isteği etkinlikleri olarak raporlanmaz.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ System.Net.Http System.Net.Http.HttpRequestOut {HTTP method}

Not

System.Net.Http.HttpRequestOut etkinliği aslında .NET'in önceki sürümlerinde kullanılabilir, ancak Status, DisplayNameve öznitelikleri (etiketler) yalnızca .NET 9 ile başlayarak doldurulur. Önceki sürümlerde, yerleşik izlemenin boşluklarını doldurmak için OpenTelemetry.Instrumentation.Http paketi önerilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
http.request.method string HTTP isteği yöntemi. [1] GET; POST; HEAD; _OTHER Her zaman
server.address string HTTP isteğinin gönderildiği "URI kaynağı" ana bilgisayar tanımlayıcısı. example.com; 10.1.2.80 Her zaman
server.port int HTTP isteğinin gönderildiği "URI kaynağı" bağlantı noktası tanımlayıcısı. 80; 8080; 443 Her zaman
url.full string Ağ kaynağını RFC3986 göre açıklayan mutlak URL [2] https://www.foo.bar/search?q=* Her zaman
error.type string İstek hatasının nedeni: HTTP isteği hatalarından biri snake_case veya tam özel durum türü ya da HTTP 4xx/5xx durum kodunda. System.OperationCanceledException; name_resolution_error; secure_connection_error ; 404 İstek başarısız olduysa.
http.request.method_original string İstemci tarafından istek satırında gönderilen özgün HTTP yöntemi. ACL; foo http.request.method iyi bilinen bir yöntem değilse.
http.response.status_code int http yanıt durum kodunu. 200 Yanıt alındıysa.
network.protocol.version string Kullanılan HTTP protokolünün sürümü. 1.1; 2 Yanıt alındıysa.

[1] http.request.method: Yöntemin RFC9110listelenen iyi bilinen yöntemlerden biri olması durumunda değer yöntem adını içerir; aksi takdirde değer _OTHER. Kullanıcı tarafından sağlanan yöntem adları bilinen adlara büyük/küçük harfe duyarsız bir şekilde eşlenir. Örneğin, kullanıcı GeTadını sağlarsa, GETile eşlenir ve http.request.method_original doldurulmaz.

[2] url.full: Gizli dizilerin sızmasını önlemek için varsayılan olarak değer yeniden uygulanır: sorgunun tamamı * karakterle değiştirilir ve kullanıcı bilgileri & parçası kaldırılır. Daha fazla bilgi ve geri çevirme anahtarları içinURI redaction hataya neden olan değişiklik belgelerine bakın.

HTTP istemci isteği: Bağlantıyı bekleme (deneysel)

Bu etkinlik, HTTP istemci isteği etkinliğinin alt öğesidir. İlgili isteğin istek kuyruğunda kullanılabilir bir bağlantı için beklediği zaman aralığını temsil eder. İstek geldiğinde havuzda ücretsiz bağlantı varsa, bağlantı etkinliği beklemez. bağlantı beklemenin gerçek bağlantı kuruluşunu temsil etmediğini unutmayın; HTTP bağlantı kurulumu etkinliği tarafından modellenmiştir. SocketsHttpHandler, bağlantı hataları veya HTTP sürümü düşürmeleri gibi istekleri yeniden deneyebilir. Yeniden denemeler ayrı HTTP istemci isteği etkinlikleri olarak raporlanmaz; ancak her yeni bağlantı girişimi, üst istek etkinliği altında yeni bir bağlantı etkinliği beklemesine neden olur.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.WaitForConnection HTTP wait_for_connection {address}:{port}

Bahşiş

Havuzdan bağlantı almak için gereken süre de http.client.request.time_in_queue ölçümü tarafından bildirilir.

Uyarı

Bu etkinlik deneyseldir. Gelecekteki bir sürümde değiştirilebilir veya silinebilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
error.type string Bağlantı hatasının nedeni: HTTP isteği hatalarından biri snake_case veya tam özel durum türünde. System.OperationCanceledException; name_resolution_error; secure_connection_error Bağlantı girişimi başarısız olursa.

HTTP bağlantısı kurulumu (deneysel)

Bu etkinlik bir HTTP bağlantısının kurulmasını açıklar. Bu genellikle DNS'yi çözümlemek, yuva bağlantısını kurmak ve TLS el sıkışmasını gerçekleştirmek için gereken süreyi içerir.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.ConnectionSetup HTTP connection_setup {address}:{port}

HTTP istemci isteği ile HTTP bağlantısı kurulumu etkinlikleri arasında üst-alt ilişki yoktur; ikincisi her zaman ayrı bir iz içinde yaşayan bir kök etkinlik olacaktır. Ancak, HTTP bağlantısı kurulumuyla temsil edilen bağlantı girişimi başarılı bir HTTP bağlantısına ve bu bağlantının hizmet verme isteği tarafından alınması durumunda izleme, ActivityLink etkinliğine HTTP bağlantısı kurulumu etkinliğine işaret eden bir ekler. Diğer bir ifadeyle, her istek isteğe hizmet eden bağlantıya bağlanır.

Not

HTTP bağlantısı kurulumu başarısız olursa,HTTP istemci isteğine bağlanmaz.

Uyarı

Bu etkinlik deneyseldir. Gelecekteki bir sürümde değiştirilebilir veya silinebilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
error.type string Bağlantı hatasının nedeni: snake_case HTTP isteği hatalarından biri veya tam özel durum türü. System.Net.Sockets.SocketException; name_resolution_error; secure_connection_error Bağlantı girişimi başarısız olursa.
network.peer.address string Yuva bağlantısının eş IP adresi. 10.5.3.2 Bağlantı girişimi başarılı olursa.
server.address string İlk HTTP isteğinin gönderildiği "URI kaynağı" ana bilgisayar tanımlayıcısı. example.com Her zaman
server.port int İlk HTTP isteğinin gönderildiği "URI kaynağı" bağlantı noktası tanımlayıcısı. Her zaman
url.scheme string URI düzeni, kullanılan protokolü tanımlayan bileşen. http; https Her zaman

DNS araması (deneysel)

Bu etkinlik, Dns çağrıları aracılığıyla gerçekleştirilen DNS aramalarını açıklar. Temel işletim sistemi çözümleyicisi tarafından yapılan fiziksel DNS aramalarına değil, yönetilen çağrıya karşılık gelir. DNS arama etkinliği, HTTP bağlantı kurulumu etkinliğiyle birlikte bildirildiğinde, DNS aramaHTTP bağlantısı kurulumunun alt öğesi olur.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ Experimental.System.Net.NameResolution Experimental.System.Net.NameResolution.DnsLookup DNS [reverse] lookup {question}

Bahşiş

DNS arama süresi de dns.lookup.duration ölçümü tarafından bildirilir.

Uyarı

Bu etkinlik deneyseldir. Gelecekteki bir sürümde değiştirilebilir veya silinebilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
error.type string Hata kodu veya özel durum adı. [1] host_not_found Arama başarısız olursa.
dns.answers string[] Çözümlenen IP adreslerinin listesi (DNS araması için) veya etki alanı adı içeren tek bir öğe (ters arama için). ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] Arama başarılı olursa.
dns.question.name string Sorgulanan etki alanı adı veya IP adresi. example.com Her zaman

[1]: Değer, snake_case (SocketError, host_not_found, try_again, no_recovery) veya tam özel durum adı içindeki DNS ile ilgili bir address_family_not_supported.

Yuva bağlantısı (deneysel)

Bu etkinlik, Socket veya Connectaracılığıyla bir ConnectAsync bağlantısı kurulmasını açıklar. yuva bağlantısı etkinliği, HTTP bağlantı kurulumu etkinliğiyle birlikte bildirildiğinde, yuva bağlantısıHTTP bağlantısı kurulumunun alt öğesi olur.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ Experimental.System.Net.Sockets Experimental.System.Net.Sockets.Connect socket connect {address}[:{port}]

Uyarı

Bu etkinlik deneyseldir. Gelecekteki bir sürümde değiştirilebilir veya silinebilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
error.type string snake_case'daki SocketError. address_already_in_use; connection_refused Yuva bağlantısı girişimi başarısız olursa.
network.peer.address string Ağ bağlantısının eş adresi - IP adresi veya Unix etki alanı yuva adı. 10.5.3.2; /tmp/my.sock IP ve UDS yuvaları.
network.peer.port int IP bağlantısının eş bağlantı noktası numarası. 65123 IP yuvaları.
network.transport string OSI aktarım katmanı veya işlemler arası iletişim yöntemi. tcp; udp; unix IP ve UDS yuvaları.
network.type string OSI ağ katmanı veya OSI olmayan eşdeğeri. ipv4; ipv6 IP yuvaları.

TLS el sıkışması (deneysel)

Bu etkinlik, SslStreamkimlik doğrulama yöntemleri aracılığıyla gerçekleştirilen TLS istemcisini veya sunucu el sıkışmasını açıklar. TLS el sıkışması etkinliği, HTTP bağlantı kurulumu etkinliğiyle birlikte istemci tarafı kimlik doğrulaması için bildirildiğinde , TLS el sıkışmaHTTP bağlantı kurulumunun alt öğesi olur.

Kullanılabilirlik ActivitySource adı OperationName DisplayName
.NET 9+ Experimental.System.Net.Security Experimental.System.Net.Security.TlsHandshake TLS client handshake {host} -veya- TLS server handshake

Uyarı

Bu etkinlik deneyseldir. Gelecekteki sürümlerde değiştirilebilir veya silinebilir.

Öznitelikler (etiketler)

Öznitelik Tür Açıklama Örnekler Varlık
error.type string İşlemin sona erdiği hata sınıfını açıklar. System.Net.Security.Authentication.AuthenticationException; System.OperationCanceledException El sıkışma başarısız olursa.
server.address string TLS el sıkışması sırasında 'İstemci Hello' iletisinde kullanılan sunucu adı göstergesi (SNI). example.com İstemci olarak kimlik doğrulaması yaparken.
tls.protocol.name string Anlaşmaya var ılan SSL/TLS protokol sürümünün özgün dizesinden ayrıştırılmış normalleştirilmiş küçük protokol adı ssl; tls Protokol bilgileri kullanılabilir olduğunda.
tls.protocol.version string Anlaşmaya varılan SSL/TLS protokol sürümünün özgün dizesinden ayrıştırılan sürümün sayısal bölümü 1.2; 1.3 Protokol bilgileri kullanılabilir olduğunda.