Add accessor to estimate a FiberManager's run queue size
[folly.git] / folly / experimental / fibers / FiberManager.h
index 9c2ae7567fbd693e0fee9f17d9931ee3a9000f37..6f19b87ee2dd4add01fc11ba76ca68b67303dee2 100644 (file)
@@ -252,6 +252,14 @@ class FiberManager : public ::folly::Executor {
    */
   void setObserver(ExecutionObserver* observer);
 
+  /**
+   * Returns an estimate of the number of fibers which are waiting to run (does
+   * not include fibers or tasks scheduled remotely).
+   */
+  size_t runQueueSize() const {
+    return readyFibers_.size() + yieldedFibers_.size();
+  }
+
   static FiberManager& getFiberManager();
   static FiberManager* getFiberManagerUnsafe();