Semantic Conventions for SignalR server metrics
Status: Stable
This article defines semantic conventions for SignalR metrics emitted by .NET components and runtime.
Metric: signalr.server.connection.duration
this metric SHOULD be specified with
ExplicitBucketBoundaries
of [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ].
| Name | Instrument Type | Unit (UCUM) | Description |
|---|---|---|---|
signalr.server.connection.duration | Histogram | s | The duration of connections on the server. [1] |
[1]: Meter name: Microsoft.AspNetCore.Http.Connections; Added in: ASP.NET Core 8.0
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
signalr.connection.status | string | SignalR HTTP connection closure status. | app_shutdown; timeout | Recommended |
signalr.transport | string | SignalR transport type | web_sockets; long_polling | Recommended |
signalr.connection.status MUST be one of the following:
| Value | Description |
|---|---|
normal_closure | The connection was closed normally. |
timeout | The connection was closed due to a timeout. |
app_shutdown | The connection was closed because the app is shutting down. |
signalr.transport has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.
| Value | Description |
|---|---|
server_sent_events | ServerSentEvents protocol |
long_polling | LongPolling protocol |
web_sockets | WebSockets protocol |
Metric: signalr.server.active_connections
| Name | Instrument Type | Unit (UCUM) | Description |
|---|---|---|---|
signalr.server.active_connections | UpDownCounter | {connection} | Number of connections that are currently active on the server. [1] |
[1]: Meter name: Microsoft.AspNetCore.Http.Connections; Added in: ASP.NET Core 8.0
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
signalr.connection.status | string | SignalR HTTP connection closure status. | app_shutdown; timeout | Recommended |
signalr.transport | string | SignalR transport type | web_sockets; long_polling | Recommended |
signalr.connection.status MUST be one of the following:
| Value | Description |
|---|---|
normal_closure | The connection was closed normally. |
timeout | The connection was closed due to a timeout. |
app_shutdown | The connection was closed because the app is shutting down. |
signalr.transport has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.
| Value | Description |
|---|---|
server_sent_events | ServerSentEvents protocol |
long_polling | LongPolling protocol |
web_sockets | WebSockets protocol |