open-telemetry / opentelemetry-php

The OpenTelemetry PHP Library
https://opentelemetry.io/docs/instrumentation/php/
Apache License 2.0
722 stars 181 forks source link

Include more than just the method in opentelemetry-auto-symfony HttpClientInstrumentation #1399

Open NeilWhitworth opened 4 days ago

NeilWhitworth commented 4 days ago

Is your feature request related to a problem? We are consuming an api (served from api.example.com) that references images (served from images.example.com). However since all http(s) requests only use the method as the span name, it is impossible to distinguish requests going to the different hosts.

Describe the solution you'd like Include additional distinguishing information in the span name. Possibly using the target url host-name

Describe alternatives you've considered

Additional context From to https://opentelemetry.io/docs/specs/semconv/http/http-spans/

HTTP span names SHOULD be {method} {target} if there is a (low-cardinality) target available.

Instrumentation MUST NOT default to using URI path as a {target}

brettmc commented 3 days ago

HTTP span names SHOULD be {method} {target} if there is a (low-cardinality) target available. Instrumentation MUST NOT default to using URI path as a {target}

This is the heart of the issue. We cannot move URI & friends up into the span name, and so far we have not come up with a way to create a low-cardinality target from a general URI.

I think this is actually a UI issue, and you need a way to "pull up" existing span metadata and display it alongside the span's name - interesting parts of the URI are already stored against the span, in other attributes such as URL_FULL, URL_PATH...