-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New tracing product page #11607
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
Merged
Merged
New tracing product page #11607
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
0c7ae64
update defs
lizokm 2df08b9
add tracing section
lizokm f3fff95
Update docs/product/tracing/index.mdx
lizokm c35c866
Update docs/product/tracing/index.mdx
lizokm e6a50f5
Update docs/product/tracing/index.mdx
lizokm cfedcd4
Update docs/product/tracing/index.mdx
lizokm 1d9322d
Update docs/product/tracing/index.mdx
lizokm 1bf7b75
Update docs/product/tracing/index.mdx
lizokm 1cf8e38
Update docs/product/tracing/index.mdx
lizokm e9f5e94
Update docs/product/tracing/index.mdx
lizokm 8729599
Update docs/product/tracing/index.mdx
lizokm 9a28b5f
Update docs/product/tracing/index.mdx
lizokm 1772a8a
Update docs/product/tracing/index.mdx
lizokm ffcdf77
Update docs/product/tracing/index.mdx
lizokm 32d237f
Update docs/product/tracing/index.mdx
lizokm e6aa6fe
Update docs/product/tracing/index.mdx
lizokm d85fa5b
Update docs/product/tracing/index.mdx
lizokm 0ecf844
Update docs/product/tracing/index.mdx
lizokm eb266a2
Update docs/product/tracing/index.mdx
lizokm b5c1d40
Update docs/product/tracing/index.mdx
lizokm abed374
add images
lizokm 7d08460
Update docs/product/tracing/index.mdx
lizokm 4552106
Update docs/product/tracing/index.mdx
lizokm 7f7ad40
Update docs/product/tracing/index.mdx
lizokm 6c6ce7f
Update docs/product/tracing/index.mdx
lizokm 71b1a31
Update docs/product/tracing/index.mdx
lizokm 0d60d33
Update docs/product/tracing/index.mdx
lizokm be66076
Update docs/product/tracing/index.mdx
lizokm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| --- | ||
| title: Tracing | ||
| sidebar_order: 20 | ||
| description: "Learn how instrumenting tracing for both your frontend and backend can help identify and debug application performance issues. Distributed tracing will allow you to see the impact of errors across your full stack and microservices." | ||
| --- | ||
|
|
||
| ## What's Tracing? | ||
|
|
||
| Tracing is the process of capturing the timing and flow of requests and operations as they happen in your application. It's a powerful debugging tool, helping you identify which link in a sequence of events may be causing a problem, such as slow performance. | ||
|
|
||
|  | ||
|
|
||
| ### What's Distributed Tracing? | ||
|
|
||
| Distributed tracing provides a unified view of how a single request moves from the frontend to the backend and beyond. This is particularly useful in modern applications, which are often composed of multiple separate services working together. To get a distributed view of your application, instrument Sentry in both your frontend and your backend. | ||
|
|
||
| With distributed tracing, you can identify performance bottlenecks that are affecting your application no matter where in your application's workflow they occur. You can then use Sentry tools such as the [Trace Explorer](/product/explore/traces/) or [Trace View](/concepts/key-terms/tracing/trace-view/) page to dig deeper and find the root cause of the problem. Distributed tracing is particularly helpful for identifying problems in production that you can't debug using console logs, such as race conditions, [N+1 queries](/product/issues/issue-details/performance-issues/n-one-queries/), and [caching issues](/product/insights/caches/). | ||
|
|
||
| ### What's a Trace? | ||
|
|
||
| A trace is a record of a series of connected events and operations coming from your application. Each trace has a string of globally unique characters called a trace ID that's passed between frontend and backend services. The trace ID connects all the actions that take place, starting from the moment a user performs an action on the frontend, all the way through to the actions this triggers across your application and services. Each trace is composed of multiple spans. | ||
|
|
||
| ### What's a Span? | ||
| A span is a named, timed operation that represents a part of the application workflow. The data captured for each span provides granular insights into specific tasks, like API requests or database queries. Multiple spans are pieced together to create a trace, providing a comprehensive overview of how your application works. This makes it easier to troubleshoot and analyze performance issues. | ||
|
|
||
| ### What's a Transaction? | ||
|
|
||
| In Sentry, a "transaction" is a specific unit that represents any event that your application sends to Sentry, like loading a web page or processing an API call. Each transaction is made up of one or more spans. Transactions have a unique transaction ID and include the associated child spans that capture the operation’s entire process from start to finish. | ||
|
|
||
| ## How to Use Tracing in Sentry | ||
|
|
||
| If you instrument Sentry for a single part of your app (just the frontend for example), looking at a trace will provide useful context for debugging issues within that app or service. But to get the most out of tracing in Sentry, you'll need to instrument the frontend, the backend, and any services in-between with Sentry's SDK. Once this is done, there are several places where you can view and interact with tracing data: | ||
|
|
||
| ### Traces to Trace View | ||
|
|
||
| You can view all the traces in your organization by going to the [Traces](https://sentry.io/orgredirect/organizations/:orgslug/traces/) page in Sentry. You'll see a chart and a list of traces and be able to see at-a-glance how long each trace took to complete and the number of spans it contains. | ||
lizokm marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| If you want more information, click on any trace ID. This will take you to the [Trace View](/concepts/key-terms/tracing/trace-view/) page, which provides a more detailed view of the trace and its spans. Here, you'll see a waterfall view of the spans in the trace, which will show you how much time each service and operation took to complete, and may give you an indicator of where a problem may be coming from. | ||
|
|
||
|  | ||
|
|
||
| Alternatively, you can use the search bar to look for spans by name, project, or other criteria. You can also use the tags section to filter spans by specific tags. Learn more about the Sentry [Trace Explorer](/product/explore/traces/). | ||
|
|
||
|  | ||
|
|
||
| ### Performance to Trace View | ||
|
|
||
| Depending on the size and volume of your app, you may have a lot of traces to sort through. The [Performance](https://sentry.io/orgredirect/organizations/:orgslug/performance/) page in Sentry is a good place to get a high-level, aggregated view of your application's performance and focus in on the traces you care about. You'll see a list of transactions for specific pages, endpoints and parts of your application. Clicking on the transaction ID will take you to the Trace View page for that transaction. Learn more about using Sentry's [Performance Monitoring](/product/performance/). | ||
|
|
||
|  | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this section does a good job of defining a 'trace ID' but not a 'trace'. Maybe start with a sentence that's a higher level overview; like, 'A trace is a unique record of a set of related actions happening in your application.'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point!