Skip to content

Commit 4c9f099

Browse files
authored
Update performance-monitoring.mdx (#13001)
* Update performance-monitoring.mdx new version to include arcades, reflect the new explore UX, and the removal of performance page. * resolved comments from alex * fixed placeholder title * added h2 to fix ToC
1 parent 0736055 commit 4c9f099

File tree

1 file changed

+48
-21
lines changed

1 file changed

+48
-21
lines changed

docs/product/sentry-basics/performance-monitoring.mdx

+48-21
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,81 @@
11
---
22
title: "Performance Monitoring"
3-
sidebar_order: 50
4-
description: "With performance monitoring, you can track, analyze, and debug your application's performance. Sentry helps you identify performance opportunities and trace issues back to poorly performing code."
3+
sidebar_order: 1
4+
description: "Understand and monitor how your application performs in production. Track key metrics, analyze bottlenecks, and resolve performance issues with distributed tracing, detailed transaction data, and automated issue detection."
55
---
66

77
<Include name="performance-moving.mdx" />
88

9-
With performance monitoring, Sentry tracks application performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple services. Sentry captures [distributed traces](/product/sentry-basics/tracing/distributed-tracing/) consisting of [transactions](/product/insights/overview/transaction-summary/#what-is-a-transaction) and spans to measure individual services and operations within those services.
9+
In many tools, Performance Monitoring is just about tracking a few key metrics on your web pages. Sentry takes a different approach. By setting up [Tracing])(/concepts/key-terms/tracing/), Sentry captures detailed performance data for every transaction in your entire application stack and automatically presents it in a variety of easy-to-use but powerful features so you can rapidly identify and resolve performance issues as they happen - all in one place.
1010

1111
<Alert>
1212

13-
Learn more about traces in the [full Tracing documentation](/product/sentry-basics/tracing/).
13+
Set up [Distributed Tracing](/product/sentry-basics/tracing/) to enable Performance Monitoring.
1414

1515
</Alert>
1616

17-
The **Performance** page is the main view in [sentry.io](https://sentry.io) where you can search or browse for transaction data. A transaction represents a single instance of an activity you want to measure or track, such as a page load, page navigation, or an asynchronous task. The page displays graphs that visualize transactions or [trends](/product/insights/overview/trends/), as well as a table where you can view relevant transactions and drill down to get more information about them.
17+
## Ways to Monitor Performance in Sentry
1818

19-
![Insights Overview Page](../../product/insights/img/backend-performance-overview.png)
19+
Sentry has multiple tools for monitoring performance which are useful for different aspects of your monitoring & debugging needs:
2020

21-
Using the information on this page, you can trace issues back through services (for instance, frontend to backend) to identify poorly performing code. You'll be able to determine whether your application performance is getting better or worse, see if your last release is running more slowly than previous ones, and identify specific services that are slow. Once you've found the cause of the problem, you'll be able to address the specific code that’s degrading performance.
21+
### 1: Insights: Opinionated views of performance data for each layer of your stack
2222

23-
## Filter Performance Data
23+
After turning on Distributed Tracing, you'll automatically see a set of [Insights](/product/insights/) pages that give you a high-level view of performance data for each layer of your stack. This is extremely useful for quickly seeing any major performance outliers that need optimization, or tracking potential regressions across time, environments, releases, etc.
2424

25-
The **Performance** page provides you with several filter and display options so that you can focus on the performance data that's most important to you. You can use the project, environment, and date filters to customize the information displayed on the page, including what's shown in the [widgets](/product/insights/overview/filters-display/#widgets) and [transactions table](/product/insights/overview/filters-display/#transaction-table). You can also search to find and filter for the specific transactions you want to investigate.
25+
- [**Frontend Insights**](/product/insights/frontend) givews you an easy but powerful way to\ drill into common frontend performance issues with things like Core Web Vitals, as well as transaction performance with things like duration, and error rate.
26+
- [**Backend Insights**](/product/insights/backend/) show your backend transaction performance, across things like database queries, external API calls, caches, queues, crons, and more.
27+
- [**Mobile Insights**](/product/insights/mobile/) track vital performance metrics for your mobile apps, including your cold & warm app start times, TTID & TTFD, and time to load or render key screens throughout your app.
28+
- [**AI Insights**](/product/insights/ai/) give you a view of your LLM performance. This is currently in beta and only available for certain integrations.
2629

27-
## Analyze Performance Trends
30+
See the demo video below for a quick tour of the Insights pages:
2831

29-
The [trends view](/product/insights/overview/trends/) allows you to see transactions that have had significant performance changes over time. This view is ideal for insights about transactions with large counts.
32+
<Arcade src="https://demo.arcade.software/BTvUjriSDjaHiVqPvIFP?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" /><br />
3033

31-
## Investigate Transactions
34+
All accounts have access to the top level insights pages. Upgrading to the [Team plan](https://sentry.io/signup/?original_referrer=https%3A%2F%2Fwww.google.com%2F&period=annual&plan=am1_team_auf&trial) or higher gets you access to more dedicated insights pages for common monitoring use cases.
3235

33-
When you find a transaction of interest, you can investigate further by going to its [Transaction Summary page](/product/insights/overview/transaction-summary). Every transaction has a summary view that gives you a better understanding of its overall health. With this view, you'll find graphs, instances of these events, stats, facet maps, related errors, and more.
36+
### 2: Performance Issues: Automatically identify full-stack bottlenecks
3437

35-
The summary page for Frontend transactions has a "Web Vitals" tab, where you can see a detailed view of the [Web Vitals](/product/insights/web-vitals/) associated with the transaction. You can also access a **Transaction Summary** page from the transactions table on the **Performance** page.
38+
Alongside typical [error issues](/product/issues/issue-details/error-issues/), Sentry will automatically detect common performance issues and group them into [performance issues](/product/issues/issue-details/performance-issues/). For instance:
39+
- N+1 Query & API call issues that indicate unnecessary round-trips to your backend
40+
- Consecutive DB Queries or HTTP Requests that could be batched for better performance
41+
- Database queries or File I/O running on the main thread, which can block the UI thread and cause performance issues
42+
- And many more documented [here](/product/issues/performance-issues/).
3643

37-
## Explore Performance Metrics
3844

39-
There are several types of [metrics](/product/insights/overview/metrics/) that you can visualize in the graphs, such as Apdex, Transactions Per Minute, P50 Duration, and User Misery to get a full understanding of how your software is performing.
45+
<Arcade src="https://demo.arcade.software/t8kZ9OeigLNrH3fLynIu?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" /> <br />
4046

41-
## Triage Performance Issues
47+
### 3: Trace Explorer: Find root causes & common patterns for performance issues
4248

43-
<Alert>
49+
While Performance Issues and Insights give you a high-level view of performance data, the [Trace Explorer](/product/explore/traces/) lets you slice and dice all your performance data by any attribute. This is an extremely powerful tool for finding root causes and common patterns for performance regressions or potential optimizations. For instance, you can find the p95 duration of all spans on the `GET /users/:id` endpoint, or find all pages slowing down because of a particular middleware routing.
50+
51+
The newest version of the Trace Explorer also lets you quickly calculate metrics based on your span data, like p50, p95, and p99 durations, and then group them by any attribute. This lets you quickly see if there's specific endpoints, versions, user groups, etc. that are performing poorly. For a more thorough dive into how you can use the new Trace Explorer and Span Metrics, take a look at our most recent [blog post](https://blog.sentry.io/find-and-fix-performance-bottlenecks-with-sentrys-trace-explorer/).
4452

45-
**Issue and Event Quotas**
53+
<Alert>
4654

47-
Your quota is consumed by events or traces, not issues. Performance issues are generated from your accepted transactions, which **doesn't** directly impact your quota. Performance transaction events use transactions, which **does** directly impact your quota. Sentry provides tools to control the type and number of error and transaction events that are accepted. Learn more in [Quota Management](/pricing/quotas/manage-transaction-quota).
55+
This demo shows a [new version](/product/explore/new-trace-explorer/) of the Trace Explorer that is available for all self-serve orgs in the Early Adopter program. Enable the EA flag in your [organization settings](https://sentry.io/orgredirect/settings/:orgslug/) to gain access to Span Metrics, Group By, Create Widgets and Alerts.
4856

4957
</Alert>
5058

51-
If your application is configured for Performance Monitoring, Sentry will detect common performance problems, and group them into issues just like it does with errors. Performance issues help to surface performance problems in your application and provide a workflow for resolving them. Learn more about [performance issues](/product/issues/issue-details/performance-issues/).
59+
60+
<Arcade src="https://demo.arcade.software/E04YSJpq1w8bpk18Q5Kp" /> <br />
61+
62+
### 4: Metrics, Alerts, and Dashboards: Build custom views of performance data
63+
64+
By default, Sentry automatically tracks a set of [performance metrics](/platforms/javascript/tracing/span-metrics/performance-metrics/) for every trace. These are used to pupulate the Insights dashboards, but you can also use them to build custom [dashboards](/product/dashboards/) and [alerts](/product/alerts/).
65+
66+
Opting into the [Early Adopter](https://sentry.io/orgredirect/settings/:orgslug/) program for the Trace Explorer also gives you access to the new [Span Metrics](/product/explore/new-trace-explorer/#span-metrics/) feature, which lets you calculate custom metrics based on your span data. This is extremely useful for building dashboards and alerts that are underpinned by real performance tracing data, so you can quickly debug performance issues.
67+
68+
## How to set up Performance Monitoring
69+
70+
For basic frontend or backend performance monitoring, just turn on Tracing in your relevant SDK. This will automatically trace every network request and give you a basic set of performance metrics. However, to make sure Sentry is capturing accurate and complete performance data, you need to set up [Distributed Tracing](/product/sentry-basics/distributed-tracing/). NextJS, Laravel, Ruby on Rails and a few others have strong out-of-the-box support for distributed tracing, but for more complex or multi-language applications, you'll need to configure this manually. Learn more about trace propagation [here](/platforms/javascript/tracing/distributed-tracing/).
71+
72+
## How Performance Monitoring works under the hood
73+
74+
Instead of instrumenting pageloads with specific metrics at set points, ie. `onLoad`, `onUnload`, `onError`, etc., Sentry automatically traces every network request, file I/O, and other operation in your application. This lets you see the performance impact of every request, and any errors that occur during that request.
75+
76+
These performance metrics are sent by the Sentry SDK as part of each [Span](/concepts/key-terms/tracing/#whats-a-span), which is the smallest unit of work in a [Trace](/concepts/key-terms/tracing/). Traces are assembled in Sentry's backend, and then extrapolated to populate all the tools we have for monitoring performance.
77+
78+
This differs substantially from other performance monitoring tools that only capture metrics at specific points in your application. Instead, all your holistic metrics are backed up by the raw tracing data, so you can drill into any specific request or operation to get a detailed view of its performance.
5279

5380
## Learn More
5481

0 commit comments

Comments
 (0)