Details
Description
Issue affects the ProfilerTimerFilter.
Some of the case statements in the profile method are missing a return/break. This causes the possibility of profiling to be enabled for methods other than the one specified. See method below
public void profile(IoEventType type) {
switch (type) {
case MESSAGE_RECEIVED :
profileMessageReceived = true;
if (messageReceivedTimerWorker == null)
{ messageReceivedTimerWorker = new TimerWorker(); }return;
case MESSAGE_SENT :
profileMessageSent = true;
if (messageSentTimerWorker == null)
{ messageSentTimerWorker = new TimerWorker(); }return;
case SESSION_CREATED :
profileSessionCreated = true;
if (sessionCreatedTimerWorker == null)
{ sessionCreatedTimerWorker = new TimerWorker(); } case SESSION_OPENED :
profileSessionOpened = true;
if (sessionOpenedTimerWorker == null)
{ sessionOpenedTimerWorker = new TimerWorker(); } case SESSION_IDLE :
profileSessionIdle = true;
if (sessionIdleTimerWorker == null)
{ sessionIdleTimerWorker = new TimerWorker(); } case SESSION_CLOSED :
profileSessionClosed = true;
if (sessionClosedTimerWorker == null)
{ sessionClosedTimerWorker = new TimerWorker(); } }
}