From 525067cc13b2daf2b5f0ffa84e56ab0ceb20e84f Mon Sep 17 00:00:00 2001 From: Sébastien Lesaint Date: Thu, 6 Jul 2017 11:43:36 +0200 Subject: SONAR-9525 add workerThreadCount to CE's MBean --- .../src/main/java/org/sonar/ce/monitoring/CeTasksMBean.java | 5 +++++ .../main/java/org/sonar/ce/monitoring/CeTasksMBeanImpl.java | 6 ++++++ .../java/org/sonar/ce/monitoring/CeTasksMBeanImplTest.java | 10 ++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) (limited to 'server/sonar-ce/src') diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBean.java b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBean.java index 2e85a5d0c02..cd01f6dbfb5 100644 --- a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBean.java +++ b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBean.java @@ -48,6 +48,11 @@ public interface CeTasksMBean { */ long getProcessingTime(); + /** + * Configured maximum number of workers. + */ + int getWorkerMaxCount(); + /** * Configured number of Workers. */ diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBeanImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBeanImpl.java index 9797b414f26..c2e0fdf576c 100644 --- a/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBeanImpl.java +++ b/server/sonar-ce/src/main/java/org/sonar/ce/monitoring/CeTasksMBeanImpl.java @@ -72,6 +72,11 @@ public class CeTasksMBeanImpl implements CeTasksMBean, Startable, SystemInfoSect return queueStatus.getProcessingTime(); } + @Override + public int getWorkerMaxCount() { + return ceConfiguration.getWorkerMaxCount(); + } + @Override public int getWorkerCount() { return ceConfiguration.getWorkerCount(); @@ -87,6 +92,7 @@ public class CeTasksMBeanImpl implements CeTasksMBean, Startable, SystemInfoSect builder.addAttributesBuilder().setKey("Processed With Success").setLongValue(getSuccessCount()).build(); builder.addAttributesBuilder().setKey("Processing Time (ms)").setLongValue(getProcessingTime()).build(); builder.addAttributesBuilder().setKey("Worker Count").setLongValue(getWorkerCount()).build(); + builder.addAttributesBuilder().setKey("Max Worker Count").setLongValue(getWorkerMaxCount()).build(); return builder.build(); } } diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/monitoring/CeTasksMBeanImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/monitoring/CeTasksMBeanImplTest.java index 2afe062b683..a87598bfeed 100644 --- a/server/sonar-ce/src/test/java/org/sonar/ce/monitoring/CeTasksMBeanImplTest.java +++ b/server/sonar-ce/src/test/java/org/sonar/ce/monitoring/CeTasksMBeanImplTest.java @@ -36,6 +36,7 @@ public class CeTasksMBeanImplTest { private static final long ERROR_COUNT = 10; private static final long SUCCESS_COUNT = 13; private static final long PROCESSING_TIME = 987; + private static final int WORKER_MAX_COUNT = 666; private static final int WORKER_COUNT = 56; private CeTasksMBeanImpl underTest = new CeTasksMBeanImpl(new DumbCEQueueStatus(), new DumbCeConfiguration()); @@ -65,11 +66,16 @@ public class CeTasksMBeanImplTest { assertThat(underTest.getWorkerCount()).isEqualTo(WORKER_COUNT); } + @Test + public void getWorkerMaxCount_delegates_to_the_CEConfiguration_instance() { + assertThat(underTest.getWorkerMaxCount()).isEqualTo(WORKER_MAX_COUNT); + } + @Test public void export_system_info() { ProtobufSystemInfo.Section section = underTest.toProtobuf(); assertThat(section.getName()).isEqualTo("Compute Engine Tasks"); - assertThat(section.getAttributesCount()).isEqualTo(6); + assertThat(section.getAttributesCount()).isEqualTo(7); } /** @@ -126,7 +132,7 @@ public class CeTasksMBeanImplTest { private static class DumbCeConfiguration implements CeConfiguration { @Override public int getWorkerMaxCount() { - throw new UnsupportedOperationException("getWorkerMaxCount is not implemented"); + return WORKER_MAX_COUNT; } @Override -- cgit v1.2.3