[ https://issues.apache.org/jira/browse/CAMEL-21858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935088#comment-17935088 ]
Pasquale Congiusti commented on CAMEL-21858: -------------------------------------------- I guess the same would apply on 4.10 as there was no major changes lately in the component. You should be able to reproduce with Camel JBang for sure. If you're going to fix it, please, take it in consideration also the new camel-telemetry component, which should eventually replace the camel-tracing. The decoration logic is exactly the same, so, you can reuse the same piece of code if it makes sense. > 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)