Skip to content
New issue

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

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

Already on GitHub? # to your account

[frontend] - add span links on synthetic requests #332

Merged
merged 4 commits into from
Aug 24, 2022

Conversation

puckpuck
Copy link
Contributor

@puckpuck puckpuck commented Aug 23, 2022

Related to #329

Changes

  • Creates a new trace if the inbound request has a synthetic_request=true baggage (from load generator)
  • The new trace is linked to the inbound load generator trace using span links
  • Appropriate CHANGELOG.md updated for non-trivial changes

Depends on #331

@puckpuck puckpuck requested a review from a team August 23, 2022 03:07
Copy link
Contributor

@xoscar xoscar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @puckpuck this is looking great! I left a small non-blocking comment

docs/trace_service_features.md Show resolved Hide resolved
@puckpuck puckpuck mentioned this pull request Aug 24, 2022
1 task
Copy link
Member

@julianocosta89 julianocosta89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good to me, I'd just love to do a dry run before merging it

@puckpuck
Copy link
Contributor Author

puckpuck commented Aug 24, 2022

I put together this branch: https://github.com/honeycombio/opentelemetry-demo/tree/baggage-end-to-end which combines #331 and #332

  1. After starting it, go to Jaeger UI, and look for traces to the paymentservice (might take a minute before one appears)
  2. This trace will have a app.synthetic_requests=true attribute on the frontend root span, and a app.payment.charged=false attribute on the paymentservice "charge" span. (also note the trace root has a link to the load generator trace).
  3. Stop just the load generator. From a new terminal window run docker compose stop loadgenerator
  4. Using your browser go to the demo app UI, and place an order for a product
  5. Return to Jaeger UI, and look for the trace you just created with the paymentservice
  6. This trace will have a root span that comes from your browser telemetry.sdk.language=webjs. There will be no attribute on this span or the subsequent frontend span about a synthetic request.
  7. The paymentservice "charge" span will have app.payment.charge=true attribute for orders placed using a web browser.

@austinlparker
Copy link
Member

@puckpuck can you resolve conflicts?

@austinlparker austinlparker merged commit 379ee4f into open-telemetry:main Aug 24, 2022
@puckpuck puckpuck deleted the frontend-span-links branch August 24, 2022 16:51
jmichalak9 pushed a commit to jmichalak9/opentelemetry-demo that referenced this pull request Mar 22, 2024
* add span links

* add span links to frontend
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants