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

Frontend spans are exploding cardinality by including request query params #1665

Closed
joshleecreates opened this issue Jul 12, 2024 · 1 comment · Fixed by #1668 or open-telemetry/opentelemetry-helm-charts#1258
Labels
bug Something isn't working

Comments

@joshleecreates
Copy link
Contributor

joshleecreates commented Jul 12, 2024

Bug Report

Which version of the demo you are using?
14e7f8f66c986cffa73a4314cb9c0f0e7e16a89e

Symptom

The URL query parameters are being included in the Span Name for spans coming from the next.js instrumentation library. This is causing exploding cardinality on the span name field which @puckpuck postulates is also causing Prometheus issues.

What is the expected behavior?

Span names should conform to the specification and should not include high-cardinality parameters.

What is the actual behavior?

Span names include all query parameters, including productID and sessionID

Reproduce

Run the demo and observe the number of operations in Jaeger on frontend.

Additional Context

Slack Thread

@joshleecreates joshleecreates added the bug Something isn't working label Jul 12, 2024
@joshleecreates
Copy link
Contributor Author

Proposed short term fix is to use an OTTL filter to correct this while waiting for the upstream library fix to be merged: vercel/next.js#64852

joshleecreates added a commit to joshleecreates/opentelemetry-demo that referenced this issue Jul 14, 2024
- adds a transform processor
- adds two rules for transforming span names:
  - Strip anything after a "?"
  - Replace productID with a token in "GET /api/products/{productID}"
    spans
joshleecreates added a commit to joshleecreates/opentelemetry-demo that referenced this issue Jul 14, 2024
- adds a transform processor
- adds two rules for transforming span names:
  - Strip anything after a "?"
  - Replace productID with a token in "GET /api/products/{productID}"
    spans
@puckpuck puckpuck linked a pull request Jul 16, 2024 that will close this issue
2 tasks
puckpuck pushed a commit that referenced this issue Jul 16, 2024
* Fixes #1665 Query Params in Span Name

- adds a transform processor
- adds two rules for transforming span names:
  - Strip anything after a "?"
  - Replace productID with a token in "GET /api/products/{productID}"
    spans

* fix lint errors

* update changelog

---------

Co-authored-by: Juliano Costa <julianocosta89@outlook.com>
ahealy-newr pushed a commit to ahealy-newr/opentelemetry-demo-ahealy that referenced this issue Jul 24, 2024
* Fixes open-telemetry#1665 Query Params in Span Name

- adds a transform processor
- adds two rules for transforming span names:
  - Strip anything after a "?"
  - Replace productID with a token in "GET /api/products/{productID}"
    spans

* fix lint errors

* update changelog

---------

Co-authored-by: Juliano Costa <julianocosta89@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
1 participant