Plot the MongoDB flow control

Description

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.

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

Assignee

Reporter

Priority

Components

Labels

Needs QA

Yes

Needs Doc

Yes

Story Points

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