diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2016-03-16 23:01:11 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2016-03-25 09:58:44 +0100 |
commit | 6bc55b17ebd87802cb9b55d5b6625e1a935f3909 (patch) | |
tree | 0a50457cc294c211ad7a3ee081dabb93e4231286 /server/sonar-ce | |
parent | 4250bb53f050b5a7f86b211ec2b34f85f7cc3ddc (diff) | |
download | sonarqube-6bc55b17ebd87802cb9b55d5b6625e1a935f3909.tar.gz sonarqube-6bc55b17ebd87802cb9b55d5b6625e1a935f3909.zip |
SONAR-7436 Monitoring of CE process in system WS and console
Diffstat (limited to 'server/sonar-ce')
4 files changed, 11 insertions, 7 deletions
diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/app/WebServerWatcherImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/app/WebServerWatcherImpl.java index 4ebc8f80030..73bde24aa0e 100644 --- a/server/sonar-ce/src/main/java/org/sonar/ce/app/WebServerWatcherImpl.java +++ b/server/sonar-ce/src/main/java/org/sonar/ce/app/WebServerWatcherImpl.java @@ -23,10 +23,10 @@ import java.io.File; import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.process.DefaultProcessCommands; +import org.sonar.process.ProcessId; public class WebServerWatcherImpl implements WebServerWatcher { private static final Logger LOG = Loggers.get(WebServerWatcherImpl.class); - private static final int WEB_SERVER_PROCESS_NUMBER = 2; private static final int POLL_DELAY = 200; // accounting only every 5 log calls so that only one every second (because delay is 200ms) is taken into account private static final int CALL_RATIO = 5; @@ -39,7 +39,7 @@ public class WebServerWatcherImpl implements WebServerWatcher { @Override public boolean waitForOperational() { - try (DefaultProcessCommands processCommands = DefaultProcessCommands.secondary(sharedDir, WEB_SERVER_PROCESS_NUMBER)) { + try (DefaultProcessCommands processCommands = DefaultProcessCommands.secondary(sharedDir, ProcessId.WEB_SERVER.getIpcIndex())) { if (processCommands.isOperational()) { return true; } diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java index 42527bf4e8b..be0bda6e858 100644 --- a/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java +++ b/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java @@ -108,6 +108,7 @@ import org.sonar.server.platform.ServerImpl; import org.sonar.server.platform.ServerLifecycleNotifier; import org.sonar.server.platform.ServerLogging; import org.sonar.server.platform.TempFolderProvider; +import org.sonar.server.platform.monitoring.JmxConnectorProvider; import org.sonar.server.plugins.InstalledPluginReferentialFactory; import org.sonar.server.plugins.ServerExtensionInstaller; import org.sonar.server.properties.ProjectSettingsFactory; @@ -138,6 +139,7 @@ public class ComputeEngineContainerImpl implements ComputeEngineContainer { private static final Object[] LEVEL_1_COMPONENTS = new Object[] { ComputeEngineSettings.class, new SonarQubeVersionProvider(), + new JmxConnectorProvider(), ServerImpl.class, UuidFactoryImpl.INSTANCE, // no EmbeddedDatabaseFactory.class, creating H2 DB if responsibility of WebServer @@ -521,7 +523,7 @@ public class ComputeEngineContainerImpl implements ComputeEngineContainer { // SonarQubeMonitor.class, no Monitor in CE, responsibility of Web Server // EsMonitor.class, no Monitor in CE, responsibility of Web Server // PluginsMonitor.class, no Monitor in CE, responsibility of Web Server - // JvmPropertiesMonitor.class, no Monitor in CE, responsibility of Web Server + // JvmPropsMonitor.class, no Monitor in CE, responsibility of Web Server // DatabaseMonitor.class, no Monitor in CE, responsibility of Web Server // MigrateDbAction.class, no Web Service in CE // LogsAction.class, no Web Service in CE diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/app/WebServerWatcherImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/app/WebServerWatcherImplTest.java index 32007dc60f1..d4a9ae285a4 100644 --- a/server/sonar-ce/src/test/java/org/sonar/ce/app/WebServerWatcherImplTest.java +++ b/server/sonar-ce/src/test/java/org/sonar/ce/app/WebServerWatcherImplTest.java @@ -30,12 +30,12 @@ import org.junit.rules.Timeout; import org.sonar.api.utils.log.LogTester; import org.sonar.api.utils.log.LoggerLevel; import org.sonar.process.DefaultProcessCommands; +import org.sonar.process.ProcessId; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; public class WebServerWatcherImplTest { - private static final int WEB_SERVER_PROCESS_NUMBER = 2; @Rule public Timeout timeout = Timeout.seconds(1); @@ -102,7 +102,7 @@ public class WebServerWatcherImplTest { } private void setWebServerOperational() { - try (DefaultProcessCommands processCommands = DefaultProcessCommands.secondary(sharedDir, WEB_SERVER_PROCESS_NUMBER)) { + try (DefaultProcessCommands processCommands = DefaultProcessCommands.secondary(sharedDir, ProcessId.WEB_SERVER.getIpcIndex())) { processCommands.setOperational(); } } diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/container/ComputeEngineContainerImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/container/ComputeEngineContainerImplTest.java index b56bd13daf1..291093f2b45 100644 --- a/server/sonar-ce/src/test/java/org/sonar/ce/container/ComputeEngineContainerImplTest.java +++ b/server/sonar-ce/src/test/java/org/sonar/ce/container/ComputeEngineContainerImplTest.java @@ -34,6 +34,7 @@ import org.sonar.db.DbTester; import org.sonar.process.Props; import static org.assertj.core.api.Assertions.assertThat; +import static org.sonar.process.ProcessEntryPoint.PROPERTY_SHARED_PATH; import static org.sonar.process.ProcessProperties.PATH_DATA; import static org.sonar.process.ProcessProperties.PATH_HOME; import static org.sonar.process.ProcessProperties.PATH_TEMP; @@ -65,6 +66,7 @@ public class ComputeEngineContainerImplTest { properties.setProperty(PATH_HOME, homeDir.getAbsolutePath()); properties.setProperty(PATH_DATA, dataDir.getAbsolutePath()); properties.setProperty(PATH_TEMP, tmpDir.getAbsolutePath()); + properties.setProperty(PROPERTY_SHARED_PATH, tmpDir.getAbsolutePath()); String url = ((BasicDataSource) dbTester.database().getDataSource()).getUrl(); properties.setProperty(DatabaseProperties.PROP_URL, url); properties.setProperty(DatabaseProperties.PROP_USER, "sonar"); @@ -77,7 +79,7 @@ public class ComputeEngineContainerImplTest { assertThat(picoContainer.getComponentAdapters()) .hasSize( CONTAINER_ITSELF - + 77 // level 4 + + 78 // level 4 + 5 // content of CeModule + 7 // content of CeQueueModule + 4 // content of ReportProcessingModule @@ -93,7 +95,7 @@ public class ComputeEngineContainerImplTest { ); assertThat(picoContainer.getParent().getParent().getParent().getComponentAdapters()).hasSize( COMPONENTS_IN_LEVEL_1_AT_CONSTRUCTION - + 22 // level 1 + + 23 // level 1 + 47 // content of DaoModule + 1 // content of EsSearchModule + 56 // content of CorePropertyDefinitions |