You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by mr...@apache.org on 2016/08/25 09:56:54 UTC
svn commit: r1757643 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/
oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/
Author: mreutegg
Date: Thu Aug 25 09:56:54 2016
New Revision: 1757643
URL: http://svn.apache.org/viewvc?rev=1757643&view=rev
Log:
OAK-4543: Add info about event generation and consumption by observer
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java?rev=1757643&r1=1757642&r2=1757643&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java Thu Aug 25 09:56:54 2016
@@ -94,6 +94,7 @@ public class BackgroundObserver implemen
private static class ContentChange {
private final NodeState root;
private final CommitInfo info;
+ private final long created = System.currentTimeMillis();
ContentChange(NodeState root, CommitInfo info) {
this.root = root;
this.info = info;
@@ -129,6 +130,7 @@ public class BackgroundObserver implemen
ContentChange change = queue.poll();
if (change != null && change != STOP) {
observer.contentChanged(change.root, change.info);
+ removed(queue.size(), change.created);
currentTask.onComplete(completionHandler);
}
} catch (Throwable t) {
@@ -187,6 +189,15 @@ public class BackgroundObserver implemen
protected void added(int queueSize) { }
/**
+ * Called when ever an item has been removed from the queue.
+ *
+ * @param queueSize the size of the queue after the item was removed.
+ * @param created the time in milliseconds when the removed item was put
+ * into the queue.
+ */
+ protected void removed(int queueSize, long created) { }
+
+ /**
* @return The max queue length used for this observer's queue
*/
public int getMaxQueueLength() {
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java?rev=1757643&r1=1757642&r2=1757643&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java Thu Aug 25 09:56:54 2016
@@ -273,6 +273,12 @@ class ChangeProcessor implements Observe
}
}
}
+
+ @Override
+ protected void removed(int queueSize, long created) {
+ maxQueueLength.recordValue(queueSize);
+ tracker.recordQueueLength(queueSize, created);
+ }
};
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java?rev=1757643&r1=1757642&r2=1757643&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java Thu Aug 25 09:56:54 2016
@@ -270,6 +270,8 @@ public class ConsolidatedListenerMBeanIm
"delivered/hr",
"us/delivered",
"ratioOfTimeSpentProcessingEvents",
+ "eventConsumerTimeRatio",
+ "queueBacklogMillis",
"queueSize",
"localEventCount",
"externalEventCount",
@@ -294,6 +296,8 @@ public class ConsolidatedListenerMBeanIm
SimpleType.LONG,
SimpleType.LONG,
SimpleType.DOUBLE,
+ SimpleType.DOUBLE,
+ SimpleType.LONG,
SimpleType.INTEGER,
SimpleType.INTEGER,
SimpleType.INTEGER,
@@ -339,6 +343,8 @@ public class ConsolidatedListenerMBeanIm
mbeans.eventListenerMBean.getEventsDeliveredPerHour(),
mbeans.eventListenerMBean.getMicrosecondsPerEventDelivered(),
mbeans.eventListenerMBean.getRatioOfTimeSpentProcessingEvents(),
+ mbeans.eventListenerMBean.getEventConsumerTimeRatio(),
+ mbeans.eventListenerMBean.getQueueBacklogMillis(),
mbeans.observerMBean.getQueueSize(),
mbeans.observerMBean.getLocalEventCount(),
mbeans.observerMBean.getExternalEventCount(),