github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/ui/src/views/cluster/containers/nodeGraphs/dashboards/queues.tsx (about) 1 // Copyright 2018 The Cockroach Authors. 2 // 3 // Use of this software is governed by the Business Source License 4 // included in the file licenses/BSL.txt. 5 // 6 // As of the Change Date specified in that file, in accordance with 7 // the Business Source License, use of this software will be governed 8 // by the Apache License, Version 2.0, included in the file 9 // licenses/APL.txt. 10 11 import React from "react"; 12 13 import { LineGraph } from "src/views/cluster/components/linegraph"; 14 import { Metric, Axis, AxisUnits } from "src/views/shared/components/metricQuery"; 15 16 import { GraphDashboardProps } from "./dashboardUtils"; 17 18 export default function (props: GraphDashboardProps) { 19 const { storeSources } = props; 20 21 return [ 22 <LineGraph title="Queue Processing Failures" sources={storeSources}> 23 <Axis units={AxisUnits.Count} label="failures"> 24 <Metric name="cr.store.queue.gc.process.failure" title="GC" nonNegativeRate /> 25 <Metric name="cr.store.queue.replicagc.process.failure" title="Replica GC" nonNegativeRate /> 26 <Metric name="cr.store.queue.replicate.process.failure" title="Replication" nonNegativeRate /> 27 <Metric name="cr.store.queue.split.process.failure" title="Split" nonNegativeRate /> 28 <Metric name="cr.store.queue.consistency.process.failure" title="Consistency" nonNegativeRate /> 29 <Metric name="cr.store.queue.raftlog.process.failure" title="Raft Log" nonNegativeRate /> 30 <Metric name="cr.store.queue.raftsnapshot.process.failure" title="Raft Snapshot" nonNegativeRate /> 31 <Metric name="cr.store.queue.tsmaintenance.process.failure" title="Time Series Maintenance" nonNegativeRate /> 32 <Metric name="cr.store.compactor.compactions.failure" title="Compaction" nonNegativeRate /> 33 </Axis> 34 </LineGraph>, 35 36 <LineGraph title="Queue Processing Times" sources={storeSources}> 37 <Axis units={AxisUnits.Duration} label="processing time"> 38 <Metric name="cr.store.queue.gc.processingnanos" title="GC" nonNegativeRate /> 39 <Metric name="cr.store.queue.replicagc.processingnanos" title="Replica GC" nonNegativeRate /> 40 <Metric name="cr.store.queue.replicate.processingnanos" title="Replication" nonNegativeRate /> 41 <Metric name="cr.store.queue.split.processingnanos" title="Split" nonNegativeRate /> 42 <Metric name="cr.store.queue.consistency.processingnanos" title="Consistency" nonNegativeRate /> 43 <Metric name="cr.store.queue.raftlog.processingnanos" title="Raft Log" nonNegativeRate /> 44 <Metric name="cr.store.queue.raftsnapshot.processingnanos" title="Raft Snapshot" nonNegativeRate /> 45 <Metric name="cr.store.queue.tsmaintenance.processingnanos" title="Time Series Maintenance" nonNegativeRate /> 46 <Metric name="cr.store.compactor.compactingnanos" title="Compaction" nonNegativeRate /> 47 </Axis> 48 </LineGraph>, 49 50 // TODO(mrtracy): The queues below should also have "processing 51 // nanos" on the graph, but that has a time unit instead of a count 52 // unit, and thus we need support for multi-axis graphs. 53 <LineGraph title="Replica GC Queue" sources={storeSources}> 54 <Axis units={AxisUnits.Count} label="actions"> 55 <Metric name="cr.store.queue.replicagc.process.success" title="Successful Actions / sec" nonNegativeRate /> 56 <Metric name="cr.store.queue.replicagc.pending" title="Pending Actions" downsampleMax /> 57 <Metric name="cr.store.queue.replicagc.removereplica" title="Replicas Removed / sec" nonNegativeRate /> 58 </Axis> 59 </LineGraph>, 60 61 <LineGraph title="Replication Queue" sources={storeSources}> 62 <Axis units={AxisUnits.Count} label="actions"> 63 <Metric name="cr.store.queue.replicate.process.success" title="Successful Actions / sec" nonNegativeRate /> 64 <Metric name="cr.store.queue.replicate.pending" title="Pending Actions" /> 65 <Metric name="cr.store.queue.replicate.addreplica" title="Replicas Added / sec" nonNegativeRate /> 66 <Metric name="cr.store.queue.replicate.removereplica" title="Replicas Removed / sec" nonNegativeRate /> 67 <Metric name="cr.store.queue.replicate.removedeadreplica" title="Dead Replicas Removed / sec" nonNegativeRate /> 68 <Metric name="cr.store.queue.replicate.removelearnerreplica" title="Learner Replicas Removed / sec" nonNegativeRate /> 69 <Metric name="cr.store.queue.replicate.rebalancereplica" title="Replicas Rebalanced / sec" nonNegativeRate /> 70 <Metric name="cr.store.queue.replicate.transferlease" title="Leases Transferred / sec" nonNegativeRate /> 71 <Metric name="cr.store.queue.replicate.purgatory" title="Replicas in Purgatory" downsampleMax /> 72 </Axis> 73 </LineGraph>, 74 75 <LineGraph title="Split Queue" sources={storeSources}> 76 <Axis units={AxisUnits.Count} label="actions"> 77 <Metric name="cr.store.queue.split.process.success" title="Successful Actions / sec" nonNegativeRate /> 78 <Metric name="cr.store.queue.split.pending" title="Pending Actions" downsampleMax /> 79 </Axis> 80 </LineGraph>, 81 82 <LineGraph title="Merge Queue" sources={storeSources}> 83 <Axis units={AxisUnits.Count} label="actions"> 84 <Metric name="cr.store.queue.merge.process.success" title="Successful Actions / sec" nonNegativeRate /> 85 <Metric name="cr.store.queue.merge.pending" title="Pending Actions" downsampleMax /> 86 </Axis> 87 </LineGraph>, 88 89 <LineGraph title="GC Queue" sources={storeSources}> 90 <Axis units={AxisUnits.Count} label="actions"> 91 <Metric name="cr.store.queue.gc.process.success" title="Successful Actions / sec" nonNegativeRate /> 92 <Metric name="cr.store.queue.gc.pending" title="Pending Actions" downsampleMax /> 93 </Axis> 94 </LineGraph>, 95 96 <LineGraph title="Raft Log Queue" sources={storeSources}> 97 <Axis units={AxisUnits.Count} label="actions"> 98 <Metric name="cr.store.queue.raftlog.process.success" title="Successful Actions / sec" nonNegativeRate /> 99 <Metric name="cr.store.queue.raftlog.pending" title="Pending Actions" downsampleMax /> 100 </Axis> 101 </LineGraph>, 102 103 <LineGraph title="Raft Snapshot Queue" sources={storeSources}> 104 <Axis units={AxisUnits.Count} label="actions"> 105 <Metric name="cr.store.queue.raftsnapshot.process.success" title="Successful Actions / sec" nonNegativeRate /> 106 <Metric name="cr.store.queue.raftsnapshot.pending" title="Pending Actions" downsampleMax /> 107 </Axis> 108 </LineGraph>, 109 110 <LineGraph title="Consistency Checker Queue" sources={storeSources}> 111 <Axis units={AxisUnits.Count} label="actions"> 112 <Metric name="cr.store.queue.consistency.process.success" title="Successful Actions / sec" nonNegativeRate /> 113 <Metric name="cr.store.queue.consistency.pending" title="Pending Actions" downsampleMax /> 114 </Axis> 115 </LineGraph>, 116 117 <LineGraph title="Time Series Maintenance Queue" sources={storeSources}> 118 <Axis units={AxisUnits.Count} label="actions"> 119 <Metric name="cr.store.queue.tsmaintenance.process.success" title="Successful Actions / sec" nonNegativeRate /> 120 <Metric name="cr.store.queue.tsmaintenance.pending" title="Pending Actions" downsampleMax /> 121 </Axis> 122 </LineGraph>, 123 124 <LineGraph 125 title="Compaction Queue" 126 sources={storeSources} 127 tooltip={`The completed (or estimated) bytes of storage that were (or could be) reclaimed by forcing compactions.`} 128 > 129 <Axis units={AxisUnits.Bytes} label="bytes"> 130 <Metric name="cr.store.compactor.suggestionbytes.compacted" title="Bytes compacted / sec" nonNegativeRate /> 131 <Metric name="cr.store.compactor.suggestionbytes.queued" title="Queued bytes" downsampleMax /> 132 </Axis> 133 </LineGraph>, 134 ]; 135 }