From e424d85f2ff65e20f9e42af5e31346e98808dfc6 Mon Sep 17 00:00:00 2001 From: Santamaura Date: Tue, 23 Aug 2022 16:03:23 -0400 Subject: [PATCH] ui: add decommissioning relevant graphs to metrics replication dashboard This change adds new graphs to the metrics replication dashboard. New metrics visualized on the dashboard can be used to help triage decommissioning issues. Metrics visualized include: - queue.replicate.addreplica.(success|error) - queue.replicate.removereplica.(success|error) - queue.replicate.replacedeadreplica.(success|error) - queue.replicate.removedeadreplica.(success|error) - queue.replicate.replacedecommissioningreplica.(success|error) - queue.replicate.removedecommissioningreplica.(success|error) - range.snapshots.recv-queue - range.snapshots.unknown.rcvd-bytes - range.snapshots.rebalancing.rcvd-bytes - range.snapshots.recovery.rcvd-bytes Release justification: low risk, high benefit changes to existing functionality. Resolves #86599 Release note (ui change): introduce new graphs on metrics replication dashboard to improve decommissioning observability --- .../nodeGraphs/dashboards/graphTooltips.tsx | 7 ++ .../nodeGraphs/dashboards/replication.tsx | 116 +++++++++++++++++- 2 files changed, 120 insertions(+), 3 deletions(-) diff --git a/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/graphTooltips.tsx b/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/graphTooltips.tsx index f562127c9de6..edf6f07e5838 100644 --- a/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/graphTooltips.tsx +++ b/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/graphTooltips.tsx @@ -169,3 +169,10 @@ export const CircuitBreakerTrippedEventsTooltip: React.FC = () => ( export const PausedFollowersTooltip: React.FC = () => (
The number of nonessential followers that have replication paused.
); + +export const ReceiverSnapshotsQueuedTooltip: React.FC = () => ( +
+ The number of snapshots queued to be applied on a receiver which can only{" "} + accept 1 at a time per store. +
+); diff --git a/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/replication.tsx b/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/replication.tsx index 5411bd8d5d99..060bfd6c97a8 100644 --- a/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/replication.tsx +++ b/pkg/ui/workspaces/db-console/src/views/cluster/containers/nodeGraphs/dashboards/replication.tsx @@ -25,6 +25,7 @@ import { CircuitBreakerTrippedReplicasTooltip, LogicalBytesGraphTooltip, PausedFollowersTooltip, + ReceiverSnapshotsQueuedTooltip, } from "src/views/cluster/containers/nodeGraphs/dashboards/graphTooltips"; import { cockroach } from "src/js/protos"; import TimeSeriesQueryAggregator = cockroach.ts.tspb.TimeSeriesQueryAggregator; @@ -178,14 +179,39 @@ export default function (props: GraphDashboardProps) { , - + + {_.map(nodeIDs, nid => ( + <> + + + + ))} + + , + + {_.map(nodeIDs, nid => ( ))} @@ -241,5 +267,89 @@ export default function (props: GraphDashboardProps) { ))} , + + + + + + + + + + , + + + + + + + + + + , + + + {_.map(nodeIDs, nid => ( + + ))} + + , ]; }