[ 
https://issues.apache.org/jira/browse/CAMEL-21854?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bjørnar Ruud updated CAMEL-21854:
---------------------------------
    Description: 
 

After setting up Micrometer Observations with @CamelObservation on a 
spring-boot application the MicrometerObservationTracer handling of log 
statements in a route is problematic when log statements is not static.

If we use the ${body} in a log statement we create a new tracing metric for 
each unique body processed by the application.

A simple route like will create 10000 tracer metrics the application needs to 
keep in memory:
{code:java}
        from("timer:java?period=100")
            .setBody()
                .simple("${random(10000)}")
            .log("Lets create a lot of  metrics: ${body}"); {code}
 

The problem will be a lot worse if the body is always unique and of a 
significant size.

A example of the problem can be found 
[here|https://github.com/bjoraru/camel-observation-metrics-problem].

Keep it running for a few minutes and check 
http://localhost:8080/actuator/metrics

 

  was:
 

After setting up Micrometer Observations with @CamelObservation on a 
spring-boot application the MicrometerObservationTracer handling of log 
statements in a route is problematic when log statements is not static.

If we use the ${body} in a log statement we create a new tracing metric for 
each unique body processed by the application.

A simple route like will create 10000 tracer metrics the application needs to 
keep in memory:
{code:java}
        from("timer:java?period=100")
            .setBody()
                .simple("${random(10000)}")
            .log("Lets create a lot of  metrics: ${body}"); {code}
 

The problem will be a lot worse if the body is always unique and of a 
significant size.

A example of the problem can be found 
[here|https://github.com/bjoraru/camel-observation-metrics-problem].

 


> Possible memory leak when using camel-observability
> ---------------------------------------------------
>
>                 Key: CAMEL-21854
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21854
>             Project: Camel
>          Issue Type: Bug
>            Reporter: Bjørnar Ruud
>            Priority: Major
>
>  
> After setting up Micrometer Observations with @CamelObservation on a 
> spring-boot application the MicrometerObservationTracer handling of log 
> statements in a route is problematic when log statements is not static.
> If we use the ${body} in a log statement we create a new tracing metric for 
> each unique body processed by the application.
> A simple route like will create 10000 tracer metrics the application needs to 
> keep in memory:
> {code:java}
>         from("timer:java?period=100")
>             .setBody()
>                 .simple("${random(10000)}")
>             .log("Lets create a lot of  metrics: ${body}"); {code}
>  
> The problem will be a lot worse if the body is always unique and of a 
> significant size.
> A example of the problem can be found 
> [here|https://github.com/bjoraru/camel-observation-metrics-problem].
> Keep it running for a few minutes and check 
> http://localhost:8080/actuator/metrics
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to