70 lines
3.0 KiB
Plaintext
70 lines
3.0 KiB
Plaintext
@page "/sessions/{SessionId}"
|
|
@inherits DashboardPageBase
|
|
|
|
<PageTitle>Dashboard Session</PageTitle>
|
|
|
|
@if (Snapshot is null)
|
|
{
|
|
<div class="empty-state">Loading session.</div>
|
|
}
|
|
else if (CurrentSession is null)
|
|
{
|
|
<section class="dashboard-section">
|
|
<h1 class="h4 mb-3">Session Not Found</h1>
|
|
<p class="mb-0">The session is not present in the current snapshot.</p>
|
|
</section>
|
|
}
|
|
else
|
|
{
|
|
<div class="dashboard-page-header">
|
|
<div>
|
|
<h1>Session Details</h1>
|
|
<div class="text-secondary"><code>@CurrentSession.SessionId</code></div>
|
|
</div>
|
|
<StatusBadge Text="@CurrentSession.State.ToString()" />
|
|
</div>
|
|
|
|
<section class="dashboard-section">
|
|
<div class="section-heading">
|
|
<h2>Session</h2>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table class="table table-sm dashboard-table details-table">
|
|
<tbody>
|
|
<tr><th scope="row">Backend</th><td>@CurrentSession.BackendName</td></tr>
|
|
<tr><th scope="row">Client identity</th><td>@DashboardDisplay.Text(CurrentSession.ClientIdentity)</td></tr>
|
|
<tr><th scope="row">Client session</th><td>@DashboardDisplay.Text(CurrentSession.ClientSessionName)</td></tr>
|
|
<tr><th scope="row">Client correlation</th><td>@DashboardDisplay.Text(CurrentSession.ClientCorrelationId)</td></tr>
|
|
<tr><th scope="row">Opened</th><td>@DashboardDisplay.DateTime(CurrentSession.OpenedAt)</td></tr>
|
|
<tr><th scope="row">Last activity</th><td>@DashboardDisplay.DateTime(CurrentSession.LastClientActivityAt)</td></tr>
|
|
<tr><th scope="row">Lease expires</th><td>@DashboardDisplay.DateTime(CurrentSession.LeaseExpiresAt)</td></tr>
|
|
<tr><th scope="row">Last fault</th><td>@DashboardDisplay.Text(CurrentSession.LastFault)</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="dashboard-section">
|
|
<div class="section-heading">
|
|
<h2>Worker</h2>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table class="table table-sm dashboard-table details-table">
|
|
<tbody>
|
|
<tr><th scope="row">Process id</th><td>@(CurrentSession.WorkerProcessId?.ToString(System.Globalization.CultureInfo.InvariantCulture) ?? "-")</td></tr>
|
|
<tr><th scope="row">State</th><td><StatusBadge Text="@(CurrentSession.WorkerState?.ToString() ?? "-")" /></td></tr>
|
|
<tr><th scope="row">Last heartbeat</th><td>@DashboardDisplay.DateTime(CurrentSession.LastWorkerHeartbeatAt)</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
}
|
|
|
|
@code {
|
|
[Parameter]
|
|
public string SessionId { get; set; } = string.Empty;
|
|
|
|
private DashboardSessionSummary? CurrentSession => Snapshot?.Sessions.FirstOrDefault(session =>
|
|
string.Equals(session.SessionId, SessionId, StringComparison.Ordinal));
|
|
}
|