Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,558 changes: 22 additions & 1,536 deletions proto.lock

Large diffs are not rendered by default.

27 changes: 4 additions & 23 deletions src/EventStore.ClusterNode/Components/Pages/Cluster.razor
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,15 @@
<th class="px-5 py-4">Status</th>
<th class="px-5 py-4">Timestamp (UTC)</th>
<th class="px-5 py-4">Checkpoints</th>
<th class="px-5 py-4">TCP</th>
<th class="px-5 py-4">HTTP</th>
<th class="px-5 py-4">HTTP / gRPC</th>
<th class="px-5 py-4 text-right">Actions</th>
</tr>
</thead>
<tbody class="divide-y divide-es-ink/10">
@if (!ClusterMembers.Any())
{
<tr>
<td class="px-5 py-4 text-es-muted" colspan="7">@ClusterEmptyMessage</td>
<td class="px-5 py-4 text-es-muted" colspan="6">@ClusterEmptyMessage</td>
</tr>
}
else
Expand All @@ -77,10 +76,6 @@
<p class="mt-1">@EpochLabel(member)</p>
}
</td>
<td class="px-5 py-4 font-mono text-xs text-es-muted">
<p>Internal: @InternalTcpEndpoint(member)</p>
<p class="mt-1">External: @ExternalTcpEndpoint(member)</p>
</td>
<td class="px-5 py-4 font-mono text-xs text-es-muted">@HttpEndpoint(member)</td>
<td class="px-5 py-4 text-right">
<div class="flex flex-wrap justify-end gap-2">
Expand Down Expand Up @@ -307,7 +302,7 @@
<section class="mt-5 grid gap-4 md:grid-cols-2 xl:grid-cols-4">
<SurfaceCard Eyebrow="Explore" Title="Navigator" Description="Jump into streams, subscriptions, projections, user management, and browser tools from one place." Href="/ui/navigator" LinkText="Open" />
<SurfaceCard Eyebrow="Run" Title="Operations" Description="Reach privileged actions for scavenging, shutdown, reload, and node-level workflows." Href="/ui/operations" LinkText="Open" />
<SurfaceCard Eyebrow="Watch" Title="Observability" Description="Inspect queues, replication, TCP, metrics, and health through a curated operator map." Href="/ui/observability" LinkText="Open" />
<SurfaceCard Eyebrow="Watch" Title="Observability" Description="Inspect queues, replication, metrics, and health through a curated operator map." Href="/ui/observability" LinkText="Open" />
<SurfaceCard Eyebrow="Review" Title="Configuration" Description="Find runtime information, loaded options, and subsystem metadata." Href="/ui/configuration" LinkText="Open" />
</section>
</div>
Expand Down Expand Up @@ -370,18 +365,14 @@
.Append("Snapshot taken at ")
.Append(TimestampLabel(ClusterReadAt ?? DateTime.UtcNow))
.AppendLine()
.Append(PadRight("Internal Tcp", 31)).Append(' ')
.Append(PadRight("External Tcp", 31)).Append(' ')
.Append(PadRight("Http", 23)).Append(' ')
.Append(PadRight("HTTP / gRPC", 23)).Append(' ')
.Append(PadRight("Status", 11)).Append(' ')
.Append(PadRight("State", 18)).Append(' ')
.Append(PadRight("Timestamp (UTC)", 19)).Append(" Checkpoints");

foreach (var member in ClusterMembers)
{
builder.AppendLine()
.Append(PadRight(InternalTcpEndpoint(member), 31)).Append(' ')
.Append(PadRight(ExternalTcpEndpoint(member), 31)).Append(' ')
.Append(PadRight(HttpEndpoint(member), 23)).Append(' ')
.Append(PadRight(MemberStatus(member), 11)).Append(' ')
.Append(PadRight(member.State.ToString(), 18)).Append(' ')
Expand Down Expand Up @@ -500,16 +491,6 @@
private static string MemberStatus(ClientClusterInfo.ClientMemberInfo member) =>
member.IsAlive ? "Alive" : "Unreachable";

private static string InternalTcpEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(
member.InternalTcpIp,
member.InternalSecureTcpPort != 0 ? member.InternalSecureTcpPort : member.InternalTcpPort);

private static string ExternalTcpEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(
member.ExternalTcpIp,
member.ExternalSecureTcpPort != 0 ? member.ExternalSecureTcpPort : member.ExternalTcpPort);

private static string HttpEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(member.HttpEndPointIp, member.HttpEndPointPort);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ private ClusterReplicaRow ParseReplicaRow(
: Guid.Empty;
var totalBytesSent = row.TotalBytesSent;
var previousRow = _previousReplicas.GetValueOrDefault(connectionId);
var replicaNode = FindMemberByInternalEndpoint(members, row.SubscriptionEndpoint);
var replicaNode = FindMemberByEndpoint(members, row.SubscriptionEndpoint);
var isCatchingUp = replicaNode?.State == VNodeState.CatchingUp;
var catchupStartTime = now;
var catchupStartBytesSent = totalBytesSent;
Expand Down Expand Up @@ -206,29 +206,23 @@ private ClusterReplicaRow ParseReplicaRow(
private ClaimsPrincipal CurrentUser =>
httpContextAccessor.HttpContext?.User ?? new ClaimsPrincipal(new ClaimsIdentity());

private static ClientClusterInfo.ClientMemberInfo FindMemberByInternalEndpoint(
private static ClientClusterInfo.ClientMemberInfo FindMemberByEndpoint(
IReadOnlyList<ClientClusterInfo.ClientMemberInfo> members,
string endpoint)
{
var cleaned = endpoint.Replace("Unspecified/", "", StringComparison.OrdinalIgnoreCase);
return members.FirstOrDefault(x =>
string.Equals(ReplicationEndpoint(x), cleaned, StringComparison.OrdinalIgnoreCase) ||
string.Equals(InternalTcpEndpoint(x), cleaned, StringComparison.OrdinalIgnoreCase));
string.Equals(ClusterEndpoint(x), cleaned, StringComparison.OrdinalIgnoreCase) ||
string.Equals(HttpEndpoint(x), cleaned, StringComparison.OrdinalIgnoreCase));
}

private static Uri BuildLeaderAddress(
HttpRequest request,
ClientClusterInfo.ClientMemberInfo leader) =>
new UriBuilder(request.Scheme, leader.HttpEndPointIp, leader.HttpEndPointPort).Uri;

private static string InternalTcpEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(
member.InternalTcpIp,
member.InternalSecureTcpPort != 0 ? member.InternalSecureTcpPort : member.InternalTcpPort);

private static string ReplicationEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
private static string ClusterEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(member.ClusterEndPointIp, member.ClusterEndPointPort);

private static string HttpEndpoint(ClientClusterInfo.ClientMemberInfo member) =>
Endpoint(member.HttpEndPointIp, member.HttpEndPointPort);

Expand Down

This file was deleted.

25 changes: 0 additions & 25 deletions src/EventStore.Core.Tests/ClientAPI/Helpers/EventsStream.cs

This file was deleted.

7 changes: 0 additions & 7 deletions src/EventStore.Core.Tests/ClientAPI/Helpers/TcpType.cs

This file was deleted.

72 changes: 0 additions & 72 deletions src/EventStore.Core.Tests/ClientAPI/Helpers/TestConnection.cs

This file was deleted.

This file was deleted.

22 changes: 0 additions & 22 deletions src/EventStore.Core.Tests/ClientAPI/Helpers/TestEvent.cs

This file was deleted.

Loading
Loading