@Override public void requestInitialized(ServletRequestEvent sre) { if (corePlugin.isStagemonitorActive()) { final MeasurementSession measurementSession = corePlugin.getMeasurementSession(); if (measurementSession.getApplicationName() != null) { MDC.put("application", measurementSession.getApplicationName()); } if (measurementSession.getHostName() != null) { MDC.put("host", measurementSession.getHostName()); } String instanceName = measurementSession.getInstanceName(); if (instanceName == null) { instanceName = sre.getServletRequest().getServerName(); } MDC.put("instance", instanceName); final String requestId = UUID.randomUUID().toString(); sre.getServletRequest().setAttribute(STAGEMONITOR_REQUEST_ID_ATTR, requestId); if (Stagemonitor.isStarted()) { // don't store the requestId in MDC if stagemonitor is not active // so that thread pools that get created on startup don't inherit the requestId MDC.put("requestId", requestId); } } }
@Test public void testNotInitialized() { when(corePlugin.isStagemonitorActive()).thenReturn(true); final MeasurementSession measurementSession = new MeasurementSession(null, "testHost", "testInstance"); StageMonitor.startMonitoring(measurementSession); verify(logger).warn("Measurement Session is not initialized: {}", measurementSession); }
@Test public void testDisabledPlugin() { when(corePlugin.isStagemonitorActive()).thenReturn(true); when(corePlugin.getDisabledPlugins()).thenReturn(Arrays.asList("TestExceptionPlugin")); StageMonitor.startMonitoring(new MeasurementSession("testApp", "testHost", "testInstance")); verify(logger).info("Initializing plugin {}", "TestPlugin"); verify(logger).info("Not initializing disabled plugin {}", "TestExceptionPlugin"); verify(logger, times(0)).info("Initializing plugin {}", "TestExceptionPlugin"); }
@Test public void testStartMonitoringNotActive() throws Exception { when(corePlugin.isStagemonitorActive()).thenReturn(false); StageMonitor.setConfiguration(configuration); final MeasurementSession measurementSession = new MeasurementSession("testApp", "testHost", "testInstance"); StageMonitor.startMonitoring(measurementSession); assertTrue(StageMonitor.isStarted()); assertFalse(StageMonitor.getMeasurementSession().isInitialized()); verify(logger, times(0)).info("Initializing plugin {}", "TestPlugin"); verify(logger, times(0)).info("Initializing plugin {}", "TestExceptionPlugin"); }
@Test public void testStartMonitoring() throws Exception { when(corePlugin.isStagemonitorActive()).thenReturn(true); final MeasurementSession measurementSession = new MeasurementSession("testApp", "testHost", "testInstance"); StageMonitor.startMonitoring(measurementSession); StageMonitor.startMonitoring(new MeasurementSession("testApp2", "testHost2", "testInstance2")); assertTrue(StageMonitor.isStarted()); assertTrue(StageMonitor.getMeasurementSession().isInitialized()); assertSame(measurementSession, StageMonitor.getMeasurementSession()); verify(logger).info("Initializing plugin {}", "TestPlugin"); verify(logger).info("Initializing plugin {}", "TestExceptionPlugin"); }