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 provides documentation for the \u003ccode\u003eFlowControlEventStats\u003c/code\u003e class, which is used to record statistics of flow control events in the Google API Client Libraries for Java.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes a list of available versions, starting from version 2.63.1 (latest) down to 2.7.1, each with a link to its respective documentation page, all related to \u003ccode\u003ecom.google.api.gax.batching.FlowControlEventStats\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowControlEventStats\u003c/code\u003e tracks throttling events, typically the most recent one, and can be used to dynamically adjust concurrency by accessing the last event's details, such as timestamp and duration of throttling.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes one constructor, \u003ccode\u003eFlowControlEventStats()\u003c/code\u003e, and one method, \u003ccode\u003egetLastFlowControlEvent()\u003c/code\u003e, which returns the last recorded \u003ccode\u003eFlowControlEvent\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFlowControlEventStats\u003c/code\u003e inherits from \u003ccode\u003ejava.lang.Object\u003c/code\u003e, and thus includes inherited methods like \u003ccode\u003eequals\u003c/code\u003e, \u003ccode\u003ehashCode\u003c/code\u003e, and \u003ccode\u003etoString\u003c/code\u003e and more.\u003c/p\u003e\n"]]],[],null,[]]