Wbudowane działania na platformie .NET
Jest to odwołanie do działań śledzenia rozproszonego emitowanych natywnie przez program . Wbudowane wystąpienia ActivitySource platformy NET.
działania System.Net
Żądanie klienta HTTP
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | System.Net.Http |
System.Net.Http.HttpRequestOut |
{HTTP method} |
Nuta
Działanie System.Net.Http.HttpRequestOut
jest w rzeczywistości dostępne we wcześniejszych wersjach platformy .NET, jednak jego Status, DisplayNamei atrybuty (tagi) są wypełniane tylko na platformie .NET 9. W starszych wersjach pakiet OpenTelemetry.Instrumentation.Http zaleca się wypełnienie luk wbudowanych instrumentacji.
Atrybuty (tagi)
Atrybut | Typ | Opis | Przykłady | Obecność |
---|---|---|---|---|
http.request.method |
string |
Metoda żądania HTTP. [1] |
GET ; POST ; HEAD ; _OTHER |
Zawsze |
server.address |
string |
Identyfikator hosta "źródło identyfikatora URI" żądanie HTTP jest wysyłane do. |
example.com ; 10.1.2.80 |
Zawsze |
server.port |
int |
Identyfikator portu "źródło identyfikatora URI" wysyłane jest żądanie HTTP. |
80 ; 8080 ; 443 |
Zawsze |
url.full |
string |
Bezwzględny adres URL opisujący zasób sieciowy zgodnie z RFC3986 [2] | https://www.foo.bar/search?q=* |
Zawsze |
error.type |
string |
Przyczyna niepowodzenia żądania: jeden z błędów żądania HTTP w snake_case lub pełnego typu wyjątku albo kod stanu HTTP 4xx/5xx. |
System.OperationCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Jeśli żądanie nie powiodło się. |
http.request.method_original |
string |
Oryginalna metoda HTTP wysłana przez klienta w wierszu żądania. |
ACL ; foo |
Jeśli http.request.method nie jest dobrze znaną metodą. |
http.response.status_code |
int |
kod stanu odpowiedzi HTTP. | 200 |
Jeśli otrzymano odpowiedź. |
network.protocol.version |
string |
Używana wersja protokołu HTTP. |
1.1 ; 2 |
Jeśli otrzymano odpowiedź. |
[1] http.request.method
: Wartość zawiera nazwę metody, jeśli metoda jest jedną z dobrze znanych metod wymienionych w RFC9110; w przeciwnym razie wartość to _OTHER
. Nazwy metod dostarczonych przez użytkownika są mapowane na znane nazwy w sposób niewrażliwy na wielkość liter. Jeśli na przykład użytkownik podaje nazwę GeT
, zostanie on zamapowany na GET
i http.request.method_original
nie zostanie wypełniony.
[2] url.full
: Aby uniknąć wycieku wpisów tajnych, wartość jest domyślnie redacted: całe zapytanie jest zastępowane znakiem *
, a informacje o użytkowniku & fragment są usuwane. Aby uzyskać więcej informacji i wyłączyć przełączniki, zobacz dokumentację zmiany powodującej niezgodność identyfikatora URI .
Żądanie klienta HTTP: oczekiwanie na połączenie (eksperymentalne)
To działanie jest elementem podrzędnym działania żądania klienta HTTP. Reprezentuje interwał czasu oczekiwania odpowiedniego żądania na dostępne połączenie w kolejce żądań. Jeśli bezpłatne połączenie jest dostępne w puli, gdy pojawi się żądanie, nie zostanie utworzone żadne oczekiwanie na połączenie działania. Należy pamiętać, że
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.WaitForConnection |
HTTP wait_for_connection {address}:{port} |
Napiwek
Czas potrzebny na uzyskanie połączenia z puli jest również zgłaszany przez metrykę http.client.request.time_in_queue
.
Ostrzeżenie
To działanie jest eksperymentalne. Może zostać ona zmieniona lub usunięta w przyszłej wersji.
Atrybuty (tagi)
Konfiguracja połączenia HTTP (eksperymentalna)
To działanie opisuje utworzenie połączenia HTTP. Zazwyczaj obejmuje to czas potrzebny na rozwiązanie problemu z systemem DNS, nawiązanie połączenia gniazda i wykonanie uzgadniania protokołu TLS.
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.ConnectionSetup |
HTTP connection_setup {address}:{port} |
Nie ma relacji nadrzędny-podrzędny między żądania klienta HTTP
Nuta
Jeśli konfiguracja połączenia HTTP zakończy się niepowodzeniem, nie zostanie ona połączona z żadnym żądaniem klienta HTTP .
Ostrzeżenie
To działanie jest eksperymentalne. Może zostać ona zmieniona lub usunięta w przyszłej wersji.
Atrybuty (tagi)
Atrybut | Typ | Opis | Przykłady | Obecność |
---|---|---|---|---|
error.type |
string |
Przyczyna niepowodzenia połączenia: jeden z błędów żądania HTTP w snake_case lub pełnego typu wyjątku. |
System.Net.Sockets.SocketException ; name_resolution_error ; secure_connection_error |
Jeśli próba połączenia zakończy się niepowodzeniem. |
network.peer.address |
string |
Równorzędny adres IP połączenia gniazda. | 10.5.3.2 |
Jeśli próba połączenia zakończy się pomyślnie. |
server.address |
string |
Identyfikator hosta "źródło identyfikatora URI" wysyłane jest początkowe żądanie HTTP. | example.com |
Zawsze |
server.port |
int |
Identyfikator portu "źródło identyfikatora URI" wysyłane jest początkowe żądanie HTTP. | Zawsze | |
url.scheme |
string |
Schemat identyfikatora URI składnik identyfikujący używany protokół. |
http ; https |
Zawsze |
Wyszukiwanie DNS (eksperymentalne)
To działanie opisuje wyszukiwania DNS wykonywane za pośrednictwem Dns wywołań. Odpowiada ono wywołaniu zarządzanemu, a nie fizycznym wyszukiwaniom DNS wykonywanym przez podstawowy program rozpoznawania systemu operacyjnego. Gdy działanie wyszukiwania dns jest zgłaszane wraz z działaniem konfiguracji połączenia HTTP, wyszukiwanie DNS staje się elementem podrzędnym konfiguracji połączenia HTTP .
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.NameResolution |
Experimental.System.Net.NameResolution.DnsLookup |
DNS [reverse] lookup {question} |
Napiwek
Czas trwania wyszukiwania DNS jest również zgłaszany przez metryki dns.lookup.duration
.
Ostrzeżenie
To działanie jest eksperymentalne. Może zostać ona zmieniona lub usunięta w przyszłej wersji.
Atrybuty (tagi)
Atrybut | Typ | Opis | Przykłady | Obecność |
---|---|---|---|---|
error.type |
string |
Kod błędu lub nazwa wyjątku. [1] | host_not_found |
Jeśli wyszukiwanie zakończy się niepowodzeniem. |
dns.answers |
string[] |
Lista rozpoznanych adresów IP (dla wyszukiwania DNS) lub pojedynczego elementu zawierającego nazwę domeny (dla wyszukiwania wstecznego). | ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] |
Jeśli wyszukiwanie zakończy się pomyślnie. |
dns.question.name |
string |
Nazwa domeny lub adres IP, którego dotyczy zapytanie. | example.com |
Zawsze |
[1]: Wartość jest SocketErrorSocketError dns w snake_case (try_again
, no_recovery
, address_family_not_supported
, ) lub pełną nazwę wyjątku.
Socket connect (eksperymentalne)
To działanie opisuje ustanowienie połączenia Socket za pośrednictwem Connect lub ConnectAsync. Gdy działanie
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Sockets |
Experimental.System.Net.Sockets.Connect |
socket connect {address}[:{port}] |
Ostrzeżenie
To działanie jest eksperymentalne. Może zostać ona zmieniona lub usunięta w przyszłej wersji.
Atrybuty (tagi)
Atrybut | Typ | Opis | Przykłady | Obecność |
---|---|---|---|---|
error.type |
string |
SocketError w snake_case. |
address_already_in_use ; connection_refused |
Jeśli próba połączenia gniazda zakończy się niepowodzeniem. |
network.peer.address |
string |
Adres równorzędny połączenia sieciowego — adres IP lub nazwa gniazda domeny systemu Unix. |
10.5.3.2 ; /tmp/my.sock |
Gniazda IP i UDS. |
network.peer.port |
int |
Numer portu komunikacji równorzędnej połączenia IP. | 65123 |
Gniazda IP. |
network.transport |
string |
warstwy transportu OSI lub metody komunikacji między procesami. |
tcp ; udp ; unix |
Gniazda IP i UDS. |
network.type |
string |
warstwy sieciowej OSI lub nieprzyleżące do osi. |
ipv4 ; ipv6 |
Gniazda IP. |
Uzgadnianie protokołu TLS (eksperymentalne)
To działanie opisuje uzgadnianie klienta lub serwera TLS wykonywane za pośrednictwem metod uwierzytelniania SslStream. Gdy działanie uzgadniania protokołu TLS jest zgłaszane na potrzeby uwierzytelniania po stronie klienta wraz z działaniem konfiguracji połączenia HTTP, uzgadnianie protokołu TLS staje się elementem podrzędnym konfiguracji połączenia HTTP .
Dostępność | nazwa ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Security |
Experimental.System.Net.Security.TlsHandshake |
TLS client handshake {host} -or- TLS server handshake |
Ostrzeżenie
To działanie jest eksperymentalne. Może zostać zmieniony lub usunięty w przyszłych wersjach.
Atrybuty (tagi)
Atrybut | Typ | Opis | Przykłady | Obecność |
---|---|---|---|---|
error.type |
string |
Opisuje klasę błędów zakończoną operacją. |
System.Net.Security.Authentication.AuthenticationException ; System.OperationCanceledException |
Jeśli uzgadnianie zakończy się niepowodzeniem. |
server.address |
string |
Wskazanie nazwy serwera (SNI) używane w komunikacie "Client Hello" podczas uzgadniania protokołu TLS. | example.com |
Podczas uwierzytelniania jako klient. |
tls.protocol.name |
string |
Znormalizowana nazwa protokołu z małymi literami przeanalizowana z oryginalnego ciągu wynegocjowanego wersji protokołu SSL/TLS |
ssl ; tls |
Gdy informacje o protokole są dostępne. |
tls.protocol.version |
string |
Część liczbowa wersji przeanalizowana z oryginalnego ciągu wynegocjowanego wersji protokołu SSL/TLS |
1.2 ; 1.3 |
Gdy informacje o protokole są dostępne. |