@@ -31,6 +31,7 @@ public class BinaryLogClientStatistics implements BinaryLogClientStatisticsMXBea
3131 private AtomicReference <EventHeader > lastEventHeader = new AtomicReference <EventHeader >();
3232 private AtomicLong timestampOfLastEvent = new AtomicLong ();
3333 private AtomicLong totalNumberOfEventsSeen = new AtomicLong ();
34+ private AtomicLong totalBytesReceived = new AtomicLong ();
3435 private AtomicLong numberOfSkippedEvents = new AtomicLong ();
3536 private AtomicLong numberOfDisconnects = new AtomicLong ();
3637
@@ -72,6 +73,11 @@ public long getTotalNumberOfEventsSeen() {
7273 return totalNumberOfEventsSeen .get ();
7374 }
7475
76+ @ Override
77+ public long getTotalBytesReceived () {
78+ return totalBytesReceived .get ();
79+ }
80+
7581 @ Override
7682 public long getNumberOfSkippedEvents () {
7783 return numberOfSkippedEvents .get ();
@@ -87,15 +93,18 @@ public void reset() {
8793 lastEventHeader .set (null );
8894 timestampOfLastEvent .set (0 );
8995 totalNumberOfEventsSeen .set (0 );
96+ totalBytesReceived .set (0 );
9097 numberOfSkippedEvents .set (0 );
9198 numberOfDisconnects .set (0 );
9299 }
93100
94101 @ Override
95102 public void onEvent (Event event ) {
96- lastEventHeader .set (event .getHeader ());
103+ EventHeader header = event .getHeader ();
104+ lastEventHeader .set (header );
97105 timestampOfLastEvent .set (getCurrentTimeMillis ());
98106 totalNumberOfEventsSeen .getAndIncrement ();
107+ totalBytesReceived .getAndAdd (header .getHeaderLength () + header .getDataLength ());
99108 }
100109
101110 @ Override
0 commit comments