Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0c7ae64
update defs
lizokm Oct 6, 2024
2df08b9
add tracing section
lizokm Oct 17, 2024
f3fff95
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
c35c866
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
e6a50f5
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
cfedcd4
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
1d9322d
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
1bf7b75
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
1cf8e38
Update docs/product/tracing/index.mdx
lizokm Oct 17, 2024
e9f5e94
Update docs/product/tracing/index.mdx
lizokm Oct 18, 2024
8729599
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
9a28b5f
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
1772a8a
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
ffcdf77
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
32d237f
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
e6aa6fe
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
d85fa5b
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
0ecf844
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
eb266a2
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
b5c1d40
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
abed374
add images
lizokm Oct 29, 2024
7d08460
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
4552106
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
7f7ad40
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
6c6ce7f
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
71b1a31
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
0d60d33
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
be66076
Update docs/product/tracing/index.mdx
lizokm Oct 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 44 additions & 0 deletions docs/product/tracing/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: Tracing
sidebar_order: 20
description: "Learn about using tracing and distributed tracing for observing and debugging application performance issues. You'll see the impact of errors across your full stack and microservices."
---

## Tracing

Tracing is the process of capturing the timing and flow of requests and operations as they happen throughout your application. It can be a powerful debugging tool, helping you identify which link in a sequence of events is causing a problem.

![An image of a trace with spans.](./img/The-anatomy-of-a-trace.png)

### 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 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 you can't just debug using console logs, such as race conditions, [N+1](/product/issues/issue-details/performance-issues/n-one-queries/), and [caching issues](/product/insights/caches/).

### What's a Trace?
Copy link
Contributor

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.'

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good point!


Each trace has a string of globally unique characters called a trace ID, that's shared by both frontend and backend services they help connect all the actions that take place to make an event such as a button click or a page scroll. 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. It provides granular insights into specific tasks, like API requests or database queries. Multiple spans are pieced together to create a trace. providing a comprehensive view of its path, timing, and interactions for troubleshooting and performance analysis.
Copy link
Member

Choose a reason for hiding this comment

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

Looks like there's a typo here "trace. providing a comprehensive..." (should be a comma?)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good catch!


### What's a Transaction?

Transactions are a Sentry-specific unit of measurement that references any event that users send to Sentry. In addition to standard event fields, transactions also contains child spans and have a unique transaction ID.

## How to Use Tracing in Sentry

To get the most out of tracing in Sentry, you'll need to instrument both the frontend and backend of your application with Sentry's SDK. Once this is done, there are several places where you can view and interact with tracing data:
Copy link
Member

Choose a reason for hiding this comment

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

We're currently moving towards emphasizing the usefulness of partial traces as well. In other words, even if it's only your frontend or backend that's instrumented and not the entire distributed system, the partial trace still provides useful context for debugging issues within that app or service. I think you can still say that the best experience is by instrumenting both the frontend and the backend together, but maybe make it sound like less of a requirement in case a customer wants to get started by instrumenting only one part of their stack.


### 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.

If you want more information, click on any trace ID. This will take you to the [Trace View](https://sentry.io/orgredirect/organizations/:orgslug/traces/:traceid/) 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 long each service and process took to complete and may give you an indicator of where a problem may be coming from. Learn more about the Sentry [Trace View](/platform/explore/trace-view/).

Alternatively, you can use the search bar to look for traces by name, project, or other criteria. You can also use the tags section to filter traces by specific tags. Learn more about the Sentry [Trace Explorer](/platform/explore/trace-explorer/).

### Performance to Trace View

If you're interested in a high-level view of your application's performance, you can start from the [Performance](https://sentry.io/orgredirect/organizations/:orgslug/performance/) page in Sentry where you'll see a list of transactions. Clicking on the transaction ID will take you to the Trace View page for that transaction. Learn more about using Sentry's [Performance Monitoring](/platform/performance-monitoring/).
Loading