Skip to content

Commit

Permalink
Add detail about known error types to Kestrel connection instrument
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesNK committed Nov 15, 2024
1 parent 5a91119 commit ca660fd
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion docs/core/diagnostics/built-in-metrics-aspnetcore.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ Available starting in: .NET 8.0.

| Attribute | Type | Description | Examples | Presence |
|---|---|---|---|---|
| `error.type` | string | The full name of exception type. | `System.OperationCanceledException`; `Contoso.MyException` | If an exception was thrown. |
| `error.type` | string | Describes a type of error the connection ended with, or the unhandled exception type thrown during the connection pipeline. Known connection errors can be found [here](https://opentelemetry.io/docs/specs/semconv/dotnet/dotnet-kestrel-metrics/#metric-kestrelconnectionduration). | `connection_reset`; `invalid_request_headers`; `System.OperationCanceledException` | If the connection ended with a known error or an exception was thrown. |
| `network.protocol.name` | string | [OSI application layer](https://osi-model.com/application-layer/) or non-OSI equivalent. | `http`; `web_sockets` | Always |
| `network.protocol.version` | string | Version of the protocol specified in `network.protocol.name`. | `1.1`; `2` | Always |
| `network.transport` | string | [OSI transport layer](https://osi-model.com/transport-layer/) or [inter-process communication method](https://en.wikipedia.org/wiki/Inter-process_communication). | `tcp`; `unix` | Always |
Expand All @@ -260,6 +260,8 @@ Available starting in: .NET 8.0.

As this metric is tracking the connection duration, and ideally http connections are used for multiple requests, the buckets should be longer than those used for request durations. For example, using [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] provides an upper bucket of 5 mins.

Starting in .NET 9.0, when a connection ends with a known error the `error.type` attribute value is set to the known error type. Known connection errors can be found [here](https://opentelemetry.io/docs/specs/semconv/dotnet/dotnet-kestrel-metrics/#metric-kestrelconnectionduration).

Available starting in: .NET 8.0.

##### Metric: `kestrel.rejected_connections`
Expand Down

0 comments on commit ca660fd

Please sign in to comment.