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] - 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
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

Successfully merging this pull request may close these issues.

4 participants