Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a System.Net API használatával létrehozott System.Diagnostics.Metrics beépített hálózati metrikákat ismerteti. A másodlagos
Borravaló
Az System.Net metrikák gyűjtéséről, jelentéséről, bővítéséről és teszteléséről további információt a .NET-
System.Net.NameResolution
A System.Net.NameResolution metrikák a DNS-névfeloldás Dns:
Metrika: dns.lookup.duration
| Név | Műszer típusa | Egység | Leírás |
|---|---|---|---|
dns.lookup.duration |
Hisztogram | s |
A DNS-keresés végrehajtásához szükséges időt méri. |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
dns.question.name |
string |
A lekérdezett név. |
www.example.com; dot.net |
Mindig |
error.type |
string |
Egy jól ismert hibasztring vagy egy kivétel teljes típusának neve. |
host_not_found; System.Net.Sockets.SocketException |
Hiba esetén |
Ez a metrika azt méri, hogy mennyi ideig tart a DNS-kérések végrehajtása. Ezek a kérések úgy fordulhatnak elő, hogy metódusokat hívnak meg Dns vagy közvetve magasabb szintű API-kon belül, például HttpClient.
A DNS-keresés során felmerülő legtöbb hiba SocketExceptionokoz. A gyakori hibaesetek egyértelműsítése érdekében a szoftvercsatornák adott SocketErrorCode kivételei explicit hibaneveket kapnak a error.type:
| SocketErrorCode | error.type |
|---|---|
| HostNotFound | host_not_found |
| TryAgain | try_again |
| AddressFamilyNotSupported | address_family_not_supported |
| NoRecovery | no_recovery |
A szoftvercsatornák kivételei bármely más SocketError értékkel együtt System.Net.Sockets.SocketExceptionként jelennek meg.
OpenTelemetria használatakor a metrika alapértelmezett gyűjtői a következők: [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].
A következő címen érhető el: .NET 8.
System.Net.Http
A System.Net.Http metrikák HTTP-kéréseket és kapcsolatadatokat jelentenek System.Net.Http:
http.client.open_connectionshttp.client.connection.durationhttp.client.request.durationhttp.client.request.time_in_queuehttp.client.active_requests
Metrika: http.client.open_connections
| Név | Műszer típusa | Egység (UCUM) | Leírás |
|---|---|---|---|
http.client.open_connections |
UpDownCounter<T> | {connection} |
Az ügyfélen jelenleg aktív vagy tétlen kimenő HTTP-kapcsolatok száma |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
http.connection.state |
string |
A HTTP-kapcsolat állapota a HTTP-kapcsolatkészletben. |
active; idle |
Mindig |
network.protocol.version |
string |
A használt HTTP-protokoll verziója. |
1.1; 2 |
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 |
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 |
Ha nem alapértelmezett (80http sémához, 443https) |
network.peer.address |
string |
A szoftvercsatorna-kapcsolat társ IP-címe. | 10.5.3.2 |
Mindig |
url.scheme |
string |
Az URI-séma a használt protokollt azonosító összetevőt. |
http; https; ftp |
Mindig |
HttpClient, ha az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva, a HTTP-üzenetek küldéséhez gyorsítótárazott hálózati kapcsolatkészletet tart fenn. Ez a metrika megszámolja, hogy jelenleg hány kapcsolat található a készletben. Az aktív kapcsolatok aktív kéréseket kezelnek. Az aktív csatlakozások adatokat továbbíthatnak, vagy az ügyfélre vagy kiszolgálóra várhatnak. Az inaktív kapcsolatok nem kezelik a kéréseket, de nyitva maradnak, hogy a jövőbeli kérések gyorsabban kezelhetők legyenek.
A következő címen érhető el: .NET 8.
Metrika: http.client.connection.duration
| Név | Műszer típusa | Egység (UCUM) | Leírás |
|---|---|---|---|
http.client.connection.duration |
Hisztogram | s |
A sikeresen létrehozott kimenő HTTP-kapcsolatok időtartama. |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
network.protocol.version |
string |
A használt HTTP-protokoll verziója. |
1.1; 2 |
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 |
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 |
Ha nem alapértelmezett (80http sémához, 443https) |
network.peer.address |
string |
A szoftvercsatorna-kapcsolat IP-címe. | 10.5.3.2 |
Mindig |
url.scheme |
string |
Az URI-séma a használt protokollt azonosító összetevőt. |
http; https; ftp |
Mindig |
Ez a metrika csak akkor lesz rögzítve, ha HttpClient az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva.
Mivel ez a metrika nyomon követi a kapcsolat időtartamát, és ideális esetben http-kapcsolatokat használ több kéréshez, a gyűjtőknek hosszabbnak kell lenniük, mint a kérések időtartamához. Ha például a [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] függvényt használja, akkor az 5 perces felső gyűjtőt adja meg.
A következő címen érhető el: .NET 8.
Metrika: http.client.request.duration
| Név | Műszer típusa | Egység (UCUM) | Leírás |
|---|---|---|---|
http.client.request.duration |
Histogram<T> | s |
A kimenő HTTP-kérések időtartama. |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
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.Threading.Tasks.TaskCanceledException; name_resolution_error; secure_connection_error; 404 |
Ha a kérés sikertelen volt. |
http.request.method |
string |
HTTP-kérési módszer. |
GET; POST; ; HEAD_OTHER [2] |
Mindig |
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. |
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 |
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 |
A .NET-verziótól függ. [3] |
url.scheme |
string |
Az URI-séma a használt protokollt azonosító összetevőt. |
http; https; ftp |
Mindig |
[1] error.type: Ha a kérés sikertelen volt, az érték a következők egyikére van beállítva:
- Kivétel neve például TaskCanceledException.
- Egy ügyfél- vagy kiszolgálóhibát jelző állapotkód, például
500. - Ha HttpRequestException nem HttpRequestError
Unknowntörtént, akkor az enumerálás értéke kígyó esetében példáulname_resolution_error.
[2] http.request.method:http.request.method:** Az érték tartalmazza a metódus nevét, ha a metódus az RFC9110; 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 lesznek leképezve. Ha például a felhasználó a GeTnevet adja meg, a rendszer leképezi GET.
[3] server.port: Az érték jelenléte verziófüggő:
-
.NET 8: Ha nem alapértelmezett (
80httpsémához,443https) - .NET 9+: Mindig jelen van
A HTTP-ügyfélkérés időtartama azt méri, hogy az alapul szolgáló ügyfélkezelő mennyi időt vesz igénybe a kérés teljesítéséhez. 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.
OpenTelemetria használatakor a metrika alapértelmezett gyűjtői a következők: [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].
A következő címen érhető el: .NET 8.
Borravaló
metrika bővítési lehetséges.
Metrika: http.client.request.time_in_queue
| Név | Műszer típusa | Egység (UCUM) | Leírás |
|---|---|---|---|
http.client.request.time_in_queue |
Histogram<T> | s |
Az üzenetsoron az elérhető kapcsolatra váró kérelmek száma. |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
http.request.method |
string |
HTTP-kérési módszer. |
GET; POST; HEAD |
Mindig |
network.protocol.version |
string |
A használt HTTP-protokoll verziója. |
1.1; 2 |
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 |
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 |
Ha nem alapértelmezett (80http sémához, 443https) |
url.scheme |
string |
Az URI-séma a használt protokollt azonosító összetevőt. |
http; https; ftp |
Mindig |
HttpClient, ha az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva, http-kéréseket küld egy hálózati kapcsolatkészlet használatával. Ha az összes kapcsolat más kérések kezelésével van elfoglalva, az új kérések várólistába kerülnek, és megvárják, amíg a hálózati kapcsolat elérhető lesz. Ez az eszköz azt méri, hogy a HTTP-kérések mennyi időt töltenek a várakozási sorban, mielőtt bármit elküldenek a hálózaton keresztül.
A következő címen érhető el: .NET 8.
Metrika: http.client.active_requests
| Név | Műszer típusa | Egység (UCUM) | Leírás |
|---|---|---|---|
http.client.active_requests |
UpDownCounter<T> | {request} |
Aktív HTTP-kérések száma. |
| Attribútum | Típus | Leírás | Példák | Jelenlét |
|---|---|---|---|---|
http.request.method |
string |
HTTP-kérési módszer. |
GET; POST; HEAD |
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 |
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 |
Ha nem alapértelmezett (80http sémához, 443https) |
url.scheme |
string |
Az URI-séma a használt protokollt azonosító összetevőt. |
http; https; ftp |
Mindig |
Ez a metrika megszámolja, hogy hány kérelem tekinthető aktívnak. A kérelmek ugyanabban az időszakban aktívak, amelyet a http.client.request.duration eszköz
A következő címen érhető el: .NET 8.