open-telemetry / opentelemetry-php

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

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

Open NeilWhitworth opened 1 month ago

NeilWhitworth commented 1 month 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 1 month 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...

dkarlovi commented 1 month ago

@brettmc why not at least use the hostname, that should count as low cardinality.

POST api.example.com

much better than

POST
brettmc commented 1 month ago

why not at least use the hostname

That's what was proposed in the linked PR. Can discuss over there: https://github.com/open-telemetry/opentelemetry-php-contrib/pull/305