#3215: Add time measurement per event listener method
This commit is contained in:
		| @@ -42,6 +42,8 @@ public class EventBus | |||||||
|         { |         { | ||||||
|             for ( EventHandlerMethod method : handlers ) |             for ( EventHandlerMethod method : handlers ) | ||||||
|             { |             { | ||||||
|  |                 long start = System.nanoTime(); | ||||||
|  |  | ||||||
|                 try |                 try | ||||||
|                 { |                 { | ||||||
|                     method.invoke( event ); |                     method.invoke( event ); | ||||||
| @@ -55,6 +57,15 @@ public class EventBus | |||||||
|                 { |                 { | ||||||
|                     logger.log( Level.WARNING, MessageFormat.format( "Error dispatching event {0} to listener {1}", event, method.getListener() ), ex.getCause() ); |                     logger.log( Level.WARNING, MessageFormat.format( "Error dispatching event {0} to listener {1}", event, method.getListener() ), ex.getCause() ); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|  |                 long elapsed = System.nanoTime() - start; | ||||||
|  |                 if ( elapsed > 20000000 ) | ||||||
|  |                 { | ||||||
|  |                     logger.log( Level.WARNING, "Plugin listener {0} took {1}ms to process event {2}!", new Object[] | ||||||
|  |                     { | ||||||
|  |                         method.getListener().getClass().getName(), elapsed / 1000000, event | ||||||
|  |                     } ); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Janmm14
					Janmm14