Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Descriptive operation names for HTTP spans #59

Open
mjmorales opened this issue Apr 25, 2022 · 1 comment
Open

[Feature] Descriptive operation names for HTTP spans #59

mjmorales opened this issue Apr 25, 2022 · 1 comment

Comments

@mjmorales
Copy link

Is your feature request related to a problem? Please describe.
Searching for unique operations in SignalFX is difficult with PHP tracing due to the generic use of web.request for operation name.

Describe the solution you'd like
Operation name for spans should not be hardcoded https://github.com/signalfx/signalfx-php-tracing/blob/main/src/DDTrace/Bootstrap.php#L107 and instead follow OpenTelemetry HTTP Semantic Conventions.

Describe alternatives you've considered
Other than patching the function, no other solutions have been considered since $operationName seems hardcoded.
Using $_SERVER['REQUEST_URI'] for operationName could be a quick solution, but might run into cardinality constraints so i'm unsure if it's the best approach.

Additional context
Example list of differing operations all named web.request within the SignalFX Trace Explorer
image

@seemk
Copy link
Collaborator

seemk commented May 11, 2022

This case is hit when there is no routing information available, so the root span is not renamed. The same problem is actually visible using OpenTelemetry as well, when, for example, using JS the root span is named HTTP GET or HTTP PUT by the first instrumentation layer. Once there are additional instrumentations available with routing information, the root span will be updated with a low cardinality route name.

I'm thinking perhaps a mapping table of some sort would help here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants