Skip to content

Commit

Permalink
dbconsole: split Admission Queue graphs to avoid overcrowding
Browse files Browse the repository at this point in the history
Informs #121572.

Release note (ui change): There are now 4 graphs for Admission Queue
Delay:
1. Foreground (regular) CPU work
2. Store (IO) work
3. Background (elastic) CPU work
4. Replication Admission Control, store overload on replicas
  • Loading branch information
aadityasondhi committed May 8, 2024
1 parent 077b585 commit ba86f54
Showing 1 changed file with 55 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -137,31 +137,36 @@ export default function (props: GraphDashboardProps) {
</LineGraph>,

<LineGraph
title="Flow Tokens Queueing Delay: 99th percentile"
title="Admission Queueing Delay – Foreground (Regular) CPU"
sources={nodeSources}
tenantSource={tenantSource}
showMetricsInTooltip={true}
tooltip={`The 99th percentile latency of requests waiting in the Replication Admission Control queue. This metric is indicative of store overload on replicas.`}
tooltip={`The 99th percentile latency of requests waiting in the various Admission Control CPU queues.`}
>
<Axis units={AxisUnits.Duration} label="Wait Duration">
<Axis units={AxisUnits.Duration} label="Delay Duration">
{nodeIDs.map(nid => (
<>
<Metric
key={nid}
name="cr.node.kvadmission.flow_controller.regular_wait_duration-p99"
name="cr.node.admission.wait_durations.kv-p99"
title={"KV " + nodeDisplayName(nodeDisplayNameByID, nid)}
sources={[nid]}
downsampleMax
/>
<Metric
key={nid}
name="cr.node.admission.wait_durations.sql-kv-response-p99"
title={
"Regular flow token wait time " +
nodeDisplayName(nodeDisplayNameByID, nid)
"SQL-KV response " + nodeDisplayName(nodeDisplayNameByID, nid)
}
sources={[nid]}
downsampleMax
/>
<Metric
key={nid}
name="cr.node.kvadmission.flow_controller.elastic_wait_duration-p99"
name="cr.node.admission.wait_durations.sql-sql-response-p99"
title={
"Elastic flow token wait time " +
nodeDisplayName(nodeDisplayNameByID, nid)
"SQL-SQL response " + nodeDisplayName(nodeDisplayNameByID, nid)
}
sources={[nid]}
downsampleMax
Expand All @@ -172,43 +177,75 @@ export default function (props: GraphDashboardProps) {
</LineGraph>,

<LineGraph
title="Admission Queueing Delay: 99th percentile"
title="Admission Queueing Delay – Store"
sources={nodeSources}
tenantSource={tenantSource}
showMetricsInTooltip={true}
tooltip={`The 99th percentile latency of requests waiting in the various Admission Control queues.`}
tooltip={`The 99th percentile latency of requests waiting in the Admission Control store queue.`}
>
<Axis units={AxisUnits.Duration} label="Delay Duration">
{nodeIDs.map(nid => (
<>
<Metric
key={nid}
name="cr.node.admission.wait_durations.kv-p99"
title={"KV " + nodeDisplayName(nodeDisplayNameByID, nid)}
name="cr.node.admission.wait_durations.kv-stores-p99"
title={"KV write " + nodeDisplayName(nodeDisplayNameByID, nid)}
sources={[nid]}
downsampleMax
/>
</>
))}
</Axis>
</LineGraph>,

<LineGraph
title="Admission Queueing Delay – Background (Elastic) CPU"
sources={nodeSources}
tenantSource={tenantSource}
showMetricsInTooltip={true}
tooltip={`The 99th percentile latency of requests waiting in the Admission Control elastic CPU queue.`}
>
<Axis units={AxisUnits.Duration} label="Delay Duration">
{nodeIDs.map(nid => (
<>
<Metric
key={nid}
name="cr.node.admission.wait_durations.kv-stores-p99"
name="cr.node.admission.wait_durations.elastic-cpu-p99"
title={"KV write " + nodeDisplayName(nodeDisplayNameByID, nid)}
sources={[nid]}
downsampleMax
/>
</>
))}
</Axis>
</LineGraph>,

<LineGraph
title="Admission Queueing Delay – Replication Admission Control"
sources={nodeSources}
tenantSource={tenantSource}
showMetricsInTooltip={true}
tooltip={`The 99th percentile latency of requests waiting in the Replication Admission Control queue. This metric is indicative of store overload on replicas.`}
>
<Axis units={AxisUnits.Duration} label="Wait Duration">
{nodeIDs.map(nid => (
<>
<Metric
key={nid}
name="cr.node.admission.wait_durations.sql-kv-response-p99"
name="cr.node.kvadmission.flow_controller.regular_wait_duration-p99"
title={
"SQL-KV response " + nodeDisplayName(nodeDisplayNameByID, nid)
"Regular flow token wait time " +
nodeDisplayName(nodeDisplayNameByID, nid)
}
sources={[nid]}
downsampleMax
/>
<Metric
key={nid}
name="cr.node.admission.wait_durations.sql-sql-response-p99"
name="cr.node.kvadmission.flow_controller.elastic_wait_duration-p99"
title={
"SQL-SQL response " + nodeDisplayName(nodeDisplayNameByID, nid)
"Elastic flow token wait time " +
nodeDisplayName(nodeDisplayNameByID, nid)
}
sources={[nid]}
downsampleMax
Expand Down

0 comments on commit ba86f54

Please sign in to comment.