| Family | +Count | +
|---|---|
| @metric.Dimension | +@metric.Value | +
The session is not present in the current snapshot.
+@CurrentSession.SessionId| Backend | @CurrentSession.BackendName |
|---|---|
| Client identity | @DashboardDisplay.Text(CurrentSession.ClientIdentity) |
| Client session | @DashboardDisplay.Text(CurrentSession.ClientSessionName) |
| Client correlation | @DashboardDisplay.Text(CurrentSession.ClientCorrelationId) |
| Opened | @DashboardDisplay.DateTime(CurrentSession.OpenedAt) |
| Last activity | @DashboardDisplay.DateTime(CurrentSession.LastClientActivityAt) |
| Lease expires | @DashboardDisplay.DateTime(CurrentSession.LeaseExpiresAt) |
| Last fault | @DashboardDisplay.Text(CurrentSession.LastFault) |
| Process id | @(CurrentSession.WorkerProcessId?.ToString(System.Globalization.CultureInfo.InvariantCulture) ?? "-") |
|---|---|
| State | |
| Last heartbeat | @DashboardDisplay.DateTime(CurrentSession.LastWorkerHeartbeatAt) |
| Session | +State | +Client | +Backend | +Worker | +Opened | +Activity | +Heartbeat | +Fault | +
|---|---|---|---|---|---|---|---|---|
@session.SessionId |
+ @DashboardDisplay.Text(session.ClientIdentity) | +@session.BackendName | +
+ @(session.WorkerProcessId?.ToString(System.Globalization.CultureInfo.InvariantCulture) ?? "-")
+ @if (session.WorkerState is not null)
+ {
+ |
+ @DashboardDisplay.DateTime(session.OpenedAt) | +@DashboardDisplay.DateTime(session.LastClientActivityAt) | +@DashboardDisplay.DateTime(session.LastWorkerHeartbeatAt) | +@DashboardDisplay.Text(session.LastFault) | +
| Authentication mode | @Snapshot.Configuration.Authentication.Mode |
|---|---|
| Auth database | @Snapshot.Configuration.Authentication.SqlitePath |
| Pepper secret | @Snapshot.Configuration.Authentication.PepperSecretName |
| Run migrations | @Snapshot.Configuration.Authentication.RunMigrationsOnStartup |
| Worker executable | @Snapshot.Configuration.Worker.ExecutablePath |
| Worker architecture | @Snapshot.Configuration.Worker.RequiredArchitecture |
| Startup timeout | @Snapshot.Configuration.Worker.StartupTimeoutSeconds seconds |
| Shutdown timeout | @Snapshot.Configuration.Worker.ShutdownTimeoutSeconds seconds |
| Heartbeat grace | @Snapshot.Configuration.Worker.HeartbeatGraceSeconds seconds |
| Default command timeout | @Snapshot.Configuration.Sessions.DefaultCommandTimeoutSeconds seconds |
| Max sessions | @Snapshot.Configuration.Sessions.MaxSessions |
| Event queue capacity | @Snapshot.Configuration.Events.QueueCapacity |
| Backpressure policy | @Snapshot.Configuration.Events.BackpressurePolicy |
| Dashboard enabled | @Snapshot.Configuration.Dashboard.Enabled |
| Dashboard path | @Snapshot.Configuration.Dashboard.PathBase |
| Require admin scope | @Snapshot.Configuration.Dashboard.RequireAdminScope |
| Anonymous localhost | @Snapshot.Configuration.Dashboard.AllowAnonymousLocalhost |
| Snapshot interval | @Snapshot.Configuration.Dashboard.SnapshotIntervalMilliseconds ms |
| Show tag values | @Snapshot.Configuration.Dashboard.ShowTagValues |
| Worker protocol | @Snapshot.Configuration.Protocol.WorkerProtocolVersion |
| Process | +State | +Session | +Heartbeat | +Fault | +
|---|---|---|---|---|
| @(worker.ProcessId?.ToString(System.Globalization.CultureInfo.InvariantCulture) ?? "-") | +@worker.SessionId |
+ @DashboardDisplay.DateTime(worker.LastHeartbeatAt) | +@DashboardDisplay.Text(worker.LastFault) | +
The requested dashboard page does not exist.
+| Observed | +Source | +Session | +Worker | +State | +Message | +
|---|---|---|---|---|---|
| @DashboardDisplay.DateTime(fault.ObservedAt) | +@fault.Source | +@DashboardDisplay.Text(fault.SessionId) |
+ @(fault.WorkerProcessId?.ToString(System.Globalization.CultureInfo.InvariantCulture) ?? "-") | +@fault.Message | +
{HtmlEncoder.Default.Encode(failureMessage)}
"; string body = $""" - {alert} - +