This class is populated by FlowController, which will record throttling events. Currently it
only keeps the last flow control event, but it could be expanded to record more information in
the future. The events can be used to dynamically adjust concurrency in the client. For example:
// Increase flow control limits if there was throttling in the past 5 minutes and throttled time// was longer than 1 minute.while(true){FlowControlEventevent=flowControlEventStats.getLastFlowControlEvent();if(event!=null && event.getTimestampMs() > System.currentMillis()-TimeUnit.MINUTES.toMillis(5) && event.getThrottledTimeInMs() > TimeUnit.MINUTES.toMillis(1)){flowController.increaseThresholds(elementSteps,byteSteps);}Thread.sleep(TimeUnit.MINUTE.toMillis(10));}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis webpage lists various versions of \u003ccode\u003eFlowControlEventStats\u003c/code\u003e, ranging from version 2.63.1 (latest) down to version 2.7.1, each with a link to its respective documentation page.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowControlEventStats\u003c/code\u003e is a class used to record statistics of flow control events, such as throttling, and can be used to dynamically adjust concurrency.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eFlowControlEventStats\u003c/code\u003e class inherits from \u003ccode\u003ejava.lang.Object\u003c/code\u003e and includes inherited methods like \u003ccode\u003eclone()\u003c/code\u003e, \u003ccode\u003eequals()\u003c/code\u003e, \u003ccode\u003ehashCode()\u003c/code\u003e, and others, commonly found in Java objects.\u003c/p\u003e\n"],["\u003cp\u003eIt has one constructor, \u003ccode\u003eFlowControlEventStats()\u003c/code\u003e, and one primary method, \u003ccode\u003egetLastFlowControlEvent()\u003c/code\u003e, which returns the most recent \u003ccode\u003eFlowControlEvent\u003c/code\u003e to provide information on the most recent event.\u003c/p\u003e\n"]]],[],null,[]]