diff --git a/io/io/inc/ROOT/TBufferMerger.hxx b/io/io/inc/ROOT/TBufferMerger.hxx
index 48592cf00abc92db8d24725a79594707c068c041..c2e6822578d2b3d5874c036062990b2573f4909c 100644
--- a/io/io/inc/ROOT/TBufferMerger.hxx
+++ b/io/io/inc/ROOT/TBufferMerger.hxx
@@ -70,6 +70,9 @@ public:
    /** Returns the number of buffers currently in the queue. */
    size_t GetQueueSize() const;
 
+   /** Returns the number of bytes currently buffered (i.e. in the queue). */
+   size_t GetBuffered() const;
+
    /** Returns the current value of the auto save setting in bytes (default = 0). */
    size_t GetAutoSave() const;
 
diff --git a/io/io/src/TBufferMerger.cxx b/io/io/src/TBufferMerger.cxx
index f7b9d5d1099c8eeafd3212c94ff9aea40aad7427..c09ceae192e98f98b0bee1128ae2873b3c2272c4 100644
--- a/io/io/src/TBufferMerger.cxx
+++ b/io/io/src/TBufferMerger.cxx
@@ -66,6 +66,12 @@ size_t TBufferMerger::GetQueueSize() const
    return fQueue.size();
 }
 
+size_t TBufferMerger::GetBuffered() const
+{
+   std::lock_guard<std::mutex> lock(fQueueMutex);
+   return fBuffered;
+}
+
 void TBufferMerger::Push(TBufferFile *buffer)
 {
    {