code: @Override
      public void messageReceived(NextFilter nextFilter, IoSession session,
              Object message) throws Exception {
          if (profileMessageReceived) {
              long start = timeNow();
              nextFilter.messageReceived(session, message);
              long end = timeNow();
              messageReceivedTimerWorker.addNewDuration(end - start);
          } else {
              nextFilter.messageReceived(session, message);
          }
      }
docs: Profile a MessageReceived event. This method will gather the following
  informations :
  - the method duration
  - the shortest execution time
  - the slowest execution time
  - the average execution time
  - the global number of calls
  
  @param nextFilter The filter to call next
  @param session The associated session
  @param message the received message