#3215: Add time measurement per event listener method
This commit is contained in:
parent
42d8300bb7
commit
425ee4e142
@ -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
|
||||||
|
} );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user