You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/08/24 16:51:10 UTC

[camel] branch master updated: CAMEL-15457: Assure that exchange has fromRouteId and fromEndpoint before creating metric (#4123)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 06df2ab  CAMEL-15457: Assure that exchange has fromRouteId and fromEndpoint before creating metric (#4123)
06df2ab is described below

commit 06df2ab39aa0e67587c4360a79549b16a062b774
Author: espeandr <es...@hotmail.com>
AuthorDate: Mon Aug 24 18:50:58 2020 +0200

    CAMEL-15457: Assure that exchange has fromRouteId and fromEndpoint before creating metric (#4123)
    
    Co-authored-by: Espen Andreassen <es...@statnett.no>
---
 .../eventnotifier/MicrometerExchangeEventNotifier.java     | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/MicrometerExchangeEventNotifier.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/MicrometerExchangeEventNotifier.java
index c02267f..2c37060 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/MicrometerExchangeEventNotifier.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/eventnotifier/MicrometerExchangeEventNotifier.java
@@ -78,12 +78,14 @@ public class MicrometerExchangeEventNotifier extends AbstractMicrometerEventNoti
     }
 
     private void handleExchangeEvent(ExchangeEvent exchangeEvent) {
-        String name = namingStrategy.getInflightExchangesName(exchangeEvent.getExchange(),
-                exchangeEvent.getExchange().getFromEndpoint());
-        Tags tags = namingStrategy.getInflightExchangesTags(exchangeEvent, exchangeEvent.getExchange().getFromEndpoint());
-        Gauge.builder(name, () -> getInflightExchangesInRoute(exchangeEvent))
-                .tags(tags)
-                .register(getMeterRegistry());
+        Exchange exchange = exchangeEvent.getExchange();
+        if (exchange.getFromRouteId() != null && exchange.getFromEndpoint() != null) {
+            String name = namingStrategy.getInflightExchangesName(exchange, exchange.getFromEndpoint());
+            Tags tags = namingStrategy.getInflightExchangesTags(exchangeEvent, exchange.getFromEndpoint());
+            Gauge.builder(name, () -> getInflightExchangesInRoute(exchangeEvent))
+                    .tags(tags)
+                    .register(getMeterRegistry());
+        }
     }
 
     protected void handleSentEvent(ExchangeSentEvent sentEvent) {