This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new db7e5221b1f CAMEL-19398: remove isStatisticsEnabled (#11494) db7e5221b1f is described below commit db7e5221b1f8df7c795782778c83e283c3a3c866 Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com> AuthorDate: Wed Sep 20 16:12:20 2023 +0200 CAMEL-19398: remove isStatisticsEnabled (#11494) --- .../apache/camel/spi/TypeConverterRegistry.java | 10 ++++--- .../impl/converter/CoreTypeConverterRegistry.java | 7 ++--- .../converter/NoopTypeConverterStatistics.java | 11 ++++---- .../impl/converter/TypeConverterStatistics.java | 7 +---- .../camel/impl/console/TypeConverterConsole.java | 32 ++++++++++++---------- ...gistryStatisticsEnabledNoStreamCachingTest.java | 2 -- ...TypeConverterRegistryStatisticsEnabledTest.java | 2 -- .../mbean/ManagedTypeConverterRegistryMBean.java | 3 -- .../mbean/ManagedTypeConverterRegistry.java | 5 ---- 9 files changed, 34 insertions(+), 45 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java b/core/camel-api/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java index 628e9ddbe93..45080fe4405 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java @@ -16,6 +16,9 @@ */ package org.apache.camel.spi; +import java.util.function.LongConsumer; +import java.util.function.LongSupplier; + import org.apache.camel.CamelContextAware; import org.apache.camel.LoggingLevel; import org.apache.camel.StaticService; @@ -67,10 +70,9 @@ public interface TypeConverterRegistry extends StaticService, CamelContextAware */ void reset(); - /** - * Whether statistics is enabled. - */ - boolean isStatisticsEnabled(); + default void computeIfEnabled(LongSupplier supplier, LongConsumer consumer) { + consumer.accept(supplier.getAsLong()); + } } /** diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/CoreTypeConverterRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/CoreTypeConverterRegistry.java index 063e43ecbc5..20caa790a56 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/CoreTypeConverterRegistry.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/CoreTypeConverterRegistry.java @@ -632,10 +632,9 @@ public abstract class CoreTypeConverterRegistry extends ServiceSupport implement protected void doStop() throws Exception { super.doStop(); // log utilization statistics when stopping, including mappings - if (statistics.isStatisticsEnabled()) { - final String info = generateMappingStatisticsMessage(); - LOG.info(info); - } + + final String info = generateMappingStatisticsMessage(); + LOG.info(info); statistics.reset(); } diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/NoopTypeConverterStatistics.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/NoopTypeConverterStatistics.java index 975b0b8f6a7..e365c4761ee 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/NoopTypeConverterStatistics.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/NoopTypeConverterStatistics.java @@ -48,11 +48,6 @@ final class NoopTypeConverterStatistics implements ConverterStatistics { // NO-OP } - @Override - public boolean isStatisticsEnabled() { - return false; - } - @Override public void incrementFailed() { // NO-OP @@ -77,4 +72,10 @@ final class NoopTypeConverterStatistics implements ConverterStatistics { public void incrementAttempt() { // NO-OP } + + @Override + public String toString() { + return String.format("NoopTypeConverterStatistics utilization[noop=%s, attempts=%s, hits=%s, misses=%s, failures=%s]", + getNoopCounter(), getAttemptCounter(), getHitCounter(), getMissCounter(), getFailedCounter()); + } } diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterStatistics.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterStatistics.java index a51066da1d9..d0f9c168f64 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterStatistics.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterStatistics.java @@ -89,14 +89,9 @@ final class TypeConverterStatistics implements ConverterStatistics { failedCounter.reset(); } - @Override - public boolean isStatisticsEnabled() { - return true; - } - @Override public String toString() { - return String.format("TypeConverterRegistry utilization[noop=%s, attempts=%s, hits=%s, misses=%s, failures=%s]", + return String.format("TypeConverterStatistics utilization[noop=%s, attempts=%s, hits=%s, misses=%s, failures=%s]", getNoopCounter(), getAttemptCounter(), getHitCounter(), getMissCounter(), getFailedCounter()); } } diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java index dd28b9b3d10..d6d2910fd0d 100644 --- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java +++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java @@ -38,13 +38,13 @@ public class TypeConverterConsole extends AbstractDevConsole { sb.append(String.format("\n Converters: %s", reg.size())); sb.append(String.format("\n Exists: %s", reg.getTypeConverterExists().name())); sb.append(String.format("\n Exists LoggingLevel: %s", reg.getTypeConverterExistsLoggingLevel())); - if (reg.getStatistics().isStatisticsEnabled()) { - sb.append(String.format("\n Attempts: %s", reg.getStatistics().getAttemptCounter())); - sb.append(String.format("\n Hit: %s", reg.getStatistics().getHitCounter())); - sb.append(String.format("\n Miss: %s", reg.getStatistics().getMissCounter())); - sb.append(String.format("\n Failed: %s", reg.getStatistics().getFailedCounter())); - sb.append(String.format("\n Noop: %s", reg.getStatistics().getNoopCounter())); - } + final TypeConverterRegistry.Statistics statistics = reg.getStatistics(); + + statistics.computeIfEnabled(statistics::getAttemptCounter, v -> sb.append(String.format("\n Attempts: %s", v))); + statistics.computeIfEnabled(statistics::getHitCounter, v -> sb.append(String.format("\n Hit: %s", v))); + statistics.computeIfEnabled(statistics::getMissCounter, v -> sb.append(String.format("\n Miss: %s", v))); + statistics.computeIfEnabled(statistics::getFailedCounter, v -> sb.append(String.format("\n Failed: %s", v))); + statistics.computeIfEnabled(statistics::getNoopCounter, v -> sb.append(String.format("\n Noop: %s", v))); return sb.toString(); } @@ -57,14 +57,18 @@ public class TypeConverterConsole extends AbstractDevConsole { root.put("size", reg.size()); root.put("exists", reg.getTypeConverterExists().name()); root.put("existsLoggingLevel", reg.getTypeConverterExistsLoggingLevel().name()); - if (reg.getStatistics().isStatisticsEnabled()) { - JsonObject props = new JsonObject(); + + final TypeConverterRegistry.Statistics statistics = reg.getStatistics(); + JsonObject props = new JsonObject(); + + statistics.computeIfEnabled(statistics::getAttemptCounter, v -> props.put("attemptCounter", v)); + statistics.computeIfEnabled(statistics::getHitCounter, v -> props.put("hitCounter", v)); + statistics.computeIfEnabled(statistics::getMissCounter, v -> props.put("missCounter", v)); + statistics.computeIfEnabled(statistics::getFailedCounter, v -> props.put("failedCounter", v)); + statistics.computeIfEnabled(statistics::getFailedCounter, v -> props.put("noopCounter", v)); + + if (!props.isEmpty()) { root.put("statistics", props); - props.put("attemptCounter", reg.getStatistics().getAttemptCounter()); - props.put("hitCounter", reg.getStatistics().getHitCounter()); - props.put("missCounter", reg.getStatistics().getAttemptCounter()); - props.put("failedCounter", reg.getStatistics().getFailedCounter()); - props.put("noopCounter", reg.getStatistics().getNoopCounter()); } return root; diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledNoStreamCachingTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledNoStreamCachingTest.java index bd01767b676..47a6cd380a4 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledNoStreamCachingTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledNoStreamCachingTest.java @@ -24,7 +24,6 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; public class TypeConverterRegistryStatisticsEnabledNoStreamCachingTest extends ContextTestSupport { @@ -49,7 +48,6 @@ public class TypeConverterRegistryStatisticsEnabledNoStreamCachingTest extends C assertMockEndpointsSatisfied(); TypeConverterRegistry reg = context.getTypeConverterRegistry(); - assertTrue(reg.getStatistics().isStatisticsEnabled(), "Should be enabled"); Long failed = reg.getStatistics().getFailedCounter(); assertEquals(0, failed.intValue()); diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledTest.java index 6a38aa31c7e..360f3d83675 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/TypeConverterRegistryStatisticsEnabledTest.java @@ -24,7 +24,6 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; public class TypeConverterRegistryStatisticsEnabledTest extends ContextTestSupport { @@ -45,7 +44,6 @@ public class TypeConverterRegistryStatisticsEnabledTest extends ContextTestSuppo assertMockEndpointsSatisfied(); TypeConverterRegistry reg = context.getTypeConverterRegistry(); - assertTrue(reg.getStatistics().isStatisticsEnabled(), "Should be enabled"); Long failed = reg.getStatistics().getFailedCounter(); assertEquals(0, failed.intValue()); diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java index bf14b4219a7..1ca1550b14d 100644 --- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java +++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java @@ -39,9 +39,6 @@ public interface ManagedTypeConverterRegistryMBean extends ManagedServiceMBean { @ManagedOperation(description = "Resets the type conversion counters") void resetTypeConversionCounters(); - @ManagedAttribute(description = "Utilization statistics enabled") - boolean isStatisticsEnabled(); - @ManagedAttribute(description = "Number of type converters in the registry") int getNumberOfTypeConverters(); diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java index 17d14ff352a..c6a51fbbd1d 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java @@ -69,11 +69,6 @@ public class ManagedTypeConverterRegistry extends ManagedService implements Mana registry.getStatistics().reset(); } - @Override - public boolean isStatisticsEnabled() { - return registry.getStatistics().isStatisticsEnabled(); - } - @Override public int getNumberOfTypeConverters() { return registry.size();