Luis Sergio Faria Carneiro created CAMEL-21858: --------------------------------------------------
Summary: 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 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 do 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?httMethod=true&httpMethod=POST&throwExceptionOnFailure=false] -- This message was sent by Atlassian Jira (v8.20.10#820010)