- public MeteredMessageQueue create(final scala.Option<ActorRef> owner, scala.Option<ActorSystem> system) {
- this.queue = new MeteredMessageQueue(this.capacity, this.pushTimeOut);
- monitorQueueSize(owner, this.queue);
- return this.queue;
+ public MeteredMessageQueue create(final scala.Option<ActorRef> owner, final scala.Option<ActorSystem> system) {
+ final MeteredMessageQueue queue = new MeteredMessageQueue(this.capacity, this.pushTimeOut);
+ monitorQueueSize(owner, queue);
+ return queue;
+ }
+
+ private static void monitorQueueSize(final scala.Option<ActorRef> owner, final MeteredMessageQueue monitoredQueue) {
+ registerMetric(owner, QUEUE_SIZE, getQueueSizeGuage(monitoredQueue));
+ }
+
+ private static Gauge<Integer> getQueueSizeGuage(final MeteredMessageQueue monitoredQueue) {
+ return monitoredQueue::size;