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-15 UTC."],[[["\u003cp\u003eThe webpage provides a comprehensive list of versions for \u003ccode\u003eFlowControlEventStats\u003c/code\u003e, ranging from the latest version 2.63.1 down to version 2.7.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowControlEventStats\u003c/code\u003e is a class that records statistics of flow control events, specifically used to track throttling events.\u003c/p\u003e\n"],["\u003cp\u003eThis class is designed to be used with \u003ccode\u003eFlowController\u003c/code\u003e, which records the throttling events, and the stats can be used to dynamically adjust concurrency.\u003c/p\u003e\n"],["\u003cp\u003eThe class inherits from \u003ccode\u003ejava.lang.Object\u003c/code\u003e, and therefore inherits the methods found in the Object class, such as \u003ccode\u003eclone()\u003c/code\u003e, \u003ccode\u003eequals()\u003c/code\u003e, and \u003ccode\u003ewait()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowControlEventStats\u003c/code\u003e includes a method \u003ccode\u003egetLastFlowControlEvent()\u003c/code\u003e that returns the most recent \u003ccode\u003eFlowControlEvent\u003c/code\u003e recorded.\u003c/p\u003e\n"]]],[],null,[]]