Log.debug every 1000 events for each subscription

Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/a7a437c8
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/a7a437c8
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/a7a437c8

Branch: refs/heads/master
Commit: a7a437c81dc62b9f8751387bf7d8eeac3597b0c8
Parents: 182e2e3
Author: Aled Sage <[email protected]>
Authored: Wed Mar 30 00:07:31 2016 +0100
Committer: Aled Sage <[email protected]>
Committed: Wed Mar 30 00:07:31 2016 +0100

----------------------------------------------------------------------
 .../brooklyn/core/mgmt/internal/LocalSubscriptionManager.java  | 6 ++++++
 .../org/apache/brooklyn/core/mgmt/internal/Subscription.java   | 2 ++
 2 files changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a7a437c8/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManager.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManager.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManager.java
index 7743995..f9606f8 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManager.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManager.java
@@ -143,6 +143,9 @@ public class LocalSubscriptionManager extends 
AbstractSubscriptionManager {
                         if (s.eventFilter!=null && !s.eventFilter.apply(event))
                             return;
                         try {
+                            int count = s.eventCount.incrementAndGet();
+                            if (count > 0 && count % 1000 == 0) LOG.debug("{} 
events for subscriber {}", count, s);
+                            
                             s.listener.onEvent(event);
                         } catch (Throwable t) {
                             if (event!=null && event.getSource()!=null && 
Entities.isNoLongerManaged(event.getSource())) {
@@ -235,6 +238,9 @@ public class LocalSubscriptionManager extends 
AbstractSubscriptionManager {
                     }
                     public void run() {
                         try {
+                            int count = 
sAtClosureCreation.eventCount.incrementAndGet();
+                            if (count > 0 && count % 1000 == 0) LOG.debug("{} 
events for subscriber {}", count, sAtClosureCreation);
+                            
                             sAtClosureCreation.listener.onEvent(event);
                         } catch (Throwable t) {
                             if (event!=null && event.getSource()!=null && 
Entities.isNoLongerManaged(event.getSource())) {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a7a437c8/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/Subscription.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/Subscription.java 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/Subscription.java
index cf6c393..66706a1 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/Subscription.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/Subscription.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.core.mgmt.internal;
 
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.mgmt.SubscriptionHandle;
@@ -39,6 +40,7 @@ class Subscription<T> implements SubscriptionHandle {
     public final Entity producer;
     public final Sensor<T> sensor;
     public final SensorEventListener<? super T> listener;
+    public final AtomicInteger eventCount = new AtomicInteger();
     public Map<String,Object> flags;
     public Predicate<SensorEvent<T>> eventFilter;
 

Reply via email to