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();

Reply via email to