[ 
https://issues.apache.org/jira/browse/CAMEL-21858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935145#comment-17935145
 ] 

Luis Sergio Faria Carneiro edited comment on CAMEL-21858 at 3/13/25 11:09 AM:
------------------------------------------------------------------------------

Hi [~squakez]. I submmited https://github.com/apache/camel/pull/17448 to fix 
it, let's see if it is approved.  I overcame this issue with the current code 
by extending the existing span decorator and implementing the proposed fix, and 
it worked.

As for the camel-opentelemetry2 component, I took a look at it, but didn't 
understand how it works. Just saw a couple of classes there and couldn't find 
how it relaates to some kind of span decorator. If you can provide me some hint 
on where to look, I can change that code as well.


was (Author: luiscarneiro):
Hi [~squakez]. I submmited https://github.com/apache/camel/pull/17448 to fix 
it, let's see if it is approved.  I overcame this issue with the current code 
by extending the existing span decorator and implementing the proposed fix, and 
it worked.

As for the camel-opentelemetry2 component, I took a look it, but didn't 
understand how it works. Just saw a couple of classes there and couldn't find 
how it relaates to some kind of span decorator. If you can provide me some hint 
on where to look, I can change that code as well.

> camel-tracing: Incorrect http method on trace record
> ----------------------------------------------------
>
>                 Key: CAMEL-21858
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21858
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-tracing
>            Reporter: Luis Sergio Faria Carneiro
>            Priority: Minor
>
> Consider the following integration created with the yaml dsl:
> {code:java}
> - from: 
>     uri: rest:get:/demo 
>     steps: 
>     - setBody: 
>         expression: 
>            constant: '{"hello": "world"}'
>     - toD: 
>         uri: "https://webhook.site/0148d971-4a63-4c61-8845-efd62b7242de";
>         parameters: 
>           bridgeEndpoint: true 
>           httpMethod: POST 
>           throwExceptionOnFailure: false{code}
> and that open telemetry tracing is enabled.
> When a request to /demo is performed, we can see that the code performs a 
> POST request to [https://webhook.site/0148d971-4a63-4c61-8845-efd62b7242de,] 
> as it should, but the corresponding trace span reports the http.method as GET 
> instead.
> This happens because the rest consumer sets the CamelHttpMethod header to GET 
> and this header is used by the tracing component to build the span. I 
> expected it to use give priority to the httpMethod endpoint parameter, as the 
> http component does.
> similar scenario happens in this case:
>  
> {code:java}
> - from:    
>     uri: rest:post:/demo    
>     steps:      
>     - removeHeaders:          
>         pattern: "*" 
>    - setBody: 
>         expression: 
>           constant: '{"hello": "world"}'     
>     - toD:          
>         uri: "https://webhook.site/0148d971-4a63-4c61-8845-efd62b7242de";
>         parameters:            
>           bridgeEndpoint: true            
>           httpMethod: POST            
>           throwExceptionOnFailure: false {code}
> Here we have the rest consumer defined with POST, but we remove the headers.
> And the [span 
> decorator|https://github.com/apache/camel/blob/main/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractHttpSpanDecorator.java#L47]
>  decides it is a GET because the endpoint has query parameters. The endpoint 
> in this case is 
> [https://webhook.site/0148d971-4a63-4c61-8845-efd62b7242de?bridgeEndpoint=true&httpMethod=POST&throwExceptionOnFailure=false|https://webhook.site/0148d971-4a63-4c61-8845-efd62b7242de?httMethod=true&httpMethod=POST&throwExceptionOnFailure=false]
>  
>  
>  
>  
>  



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

Reply via email to