Plot the MongoDB flow control
General
Escalation
General
Escalation
Description
How to test
None
How to document
None
Attachments
1
Smart Checklist
Activity
Show:

Roma Novikov June 27, 2024 at 12:22 PM
Flow Control is resented on new Experimental/MongoDB Instance Summary (new) dashboards and we are going to make them GA in

Roma Novikov November 10, 2023 at 8:34 AM
As the metrics have already been collected - the only left part is "Dashboard", so to move forward we need some presentation ideas

Roma Novikov November 8, 2023 at 3:21 PM
Data verified in recent PMM:

duygu.aksoy September 23, 2022 at 11:31 AM
can you check the ticket and let us know whether it is valid?

Akira Kurogane August 11, 2020 at 1:18 AM
As for what dashboard - the mongod running flowcontrol is a singleton in a replicaset, so it could be in replset dashboard.
Duplicate
Details
Details
Assignee
Unassigned
UnassignedReporter

Priority
Components
Labels
Needs QA
Yes
Needs Doc
Yes
Story Points
1
Smart Checklist
Open Smart Checklist
Smart Checklist

Open Smart Checklist
Created May 28, 2020 at 9:14 PM
Updated July 18, 2024 at 2:23 PM
Resolved June 27, 2024 at 2:11 PM
MongoDB added a flow control mechanism that will be helpful to graph
https://docs.mongodb.com/manual/tutorial/troubleshoot-replica-sets/#flow-control
These are all the metrics that mongodb_exporter v2 exports from the [diagnosticData.]serverStatus.flowControl section for v4.2 mongod nodes.
N.b. no info in these values from secondary nodes. "Flow control" is a throttle that runs on the primary, it's only the primary that will have increments in these counters.
We've never graphed these before because we didn't have the exporter for it. So there's some discovery to do here, but I think we only need graphs for two of these:
mongodb_ss_flowControl_isLaggedTimeMicros
When the slowest secondary starts lagging significantly enough flowControl will begin, and this will start to grow. Will be a fraction of wall clock time and reaching 100% of wall clock time will indicate that is completely engaged and blocking all client ops.
mongodb_ss_flowControl_timeAcquiringMicros
Cumulative time client ops are forced to wait by flowcontrol. E.g. if a hundred ops are blocked it would grow by 100s (or rather, 100 million microsecs) per second of wall clock time.
Nb. according to https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.flowControl.locksPerKiloOp locksPerOp is deprecated as of v4.4.