semantic-conventions/docs/dotnet/dotnet-signalr-metrics.md

4.0 KiB

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