You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ts...@apache.org on 2016/03/16 17:56:18 UTC

[04/17] wicket git commit: Wicket Metrics - Simplified time measurement

Wicket Metrics - Simplified time measurement

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

Branch: refs/heads/master
Commit: c4ac72e5eb1861f5249448a8e10414e9ed8cfc2d
Parents: 5f8b9fe
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Thu Mar 10 14:12:21 2016 +0100
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Wed Mar 16 17:55:10 2016 +0100

----------------------------------------------------------------------
 .../apache/wicket/metrics/WicketMetrics.java    | 30 ++++++++++++++++++--
 .../metrics/aspects/ApplicationAspect.java      | 12 +-------
 2 files changed, 29 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c4ac72e5/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetrics.java
----------------------------------------------------------------------
diff --git a/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetrics.java b/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetrics.java
index 055b07f..9c4eb59 100644
--- a/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetrics.java
+++ b/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetrics.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.metrics;
 
+import org.aspectj.lang.ProceedingJoinPoint;
+
 import com.codahale.metrics.JmxReporter;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer.Context;
@@ -56,7 +58,7 @@ public class WicketMetrics
 	 * @param name
 	 *            the name of the meter to be marked
 	 */
-	protected void mark(String name)
+	public void mark(String name)
 	{
 		if (WicketMetrics.enabled)
 		{
@@ -71,7 +73,7 @@ public class WicketMetrics
 	 *            the name of the timer context
 	 * @return the timer context
 	 */
-	protected Context context(String name)
+	public Context context(String name)
 	{
 		if (WicketMetrics.enabled)
 		{
@@ -98,6 +100,30 @@ public class WicketMetrics
 	}
 
 	/**
+	 * Simply measure the time for a {@literal @}around
+	 * 
+	 * @param name
+	 *            the name of the timer context
+	 * @param joinPoint
+	 *            the joinPoint to be proceed
+	 * @return the value of the join point
+	 * @throws Throwable
+	 *             if there is an exception while execution
+	 */
+	public Object measureTime(String name, ProceedingJoinPoint joinPoint) throws Throwable
+	{
+		Context context = context(name);
+		try
+		{
+			return joinPoint.proceed();
+		}
+		finally
+		{
+			stopQuietly(context);
+		}
+	}
+
+	/**
 	 * Starts the jmx reporter
 	 */
 	public static void startJmxReporter()

http://git-wip-us.apache.org/repos/asf/wicket/blob/c4ac72e5/wicket-metrics/src/main/java/org/apache/wicket/metrics/aspects/ApplicationAspect.java
----------------------------------------------------------------------
diff --git a/wicket-metrics/src/main/java/org/apache/wicket/metrics/aspects/ApplicationAspect.java b/wicket-metrics/src/main/java/org/apache/wicket/metrics/aspects/ApplicationAspect.java
index 10d51a8..45fe51d 100644
--- a/wicket-metrics/src/main/java/org/apache/wicket/metrics/aspects/ApplicationAspect.java
+++ b/wicket-metrics/src/main/java/org/apache/wicket/metrics/aspects/ApplicationAspect.java
@@ -21,8 +21,6 @@ import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 
-import com.codahale.metrics.Timer.Context;
-
 /**
  * Aspect to handle basic web application information
  * 
@@ -46,14 +44,6 @@ public class ApplicationAspect extends WicketMetrics
 	@Around("execution(* org.apache.wicket.protocol.http.WicketFilter.processRequest(..))")
 	public Object aroundRequestProcessed(ProceedingJoinPoint joinPoint) throws Throwable
 	{
-		Context context = context("core/application/request");
-		try
-		{
-			return joinPoint.proceed();
-		}
-		finally
-		{
-			stopQuietly(context);
-		}
+		return measureTime("core/application/request", joinPoint);
 	}
 }