diff --git a/src/docs/product/profiling/index.mdx b/src/docs/product/profiling/index.mdx index 854a48c9cdb01..a4419e61cd2e9 100644 --- a/src/docs/product/profiling/index.mdx +++ b/src/docs/product/profiling/index.mdx @@ -12,6 +12,7 @@ description: "Profiling offers a deeper level of visibility on top of traditiona - [Android (Java and Kotlin only)](/platforms/android/profiling/) - [iOS (Swift and Objective-C only)](/platforms/apple/profiling/) +- [Flutter [experimental, iOS and macOS only]](/platforms/flutter/profiling/) - [Python](/platforms/python/profiling/) - [Node.js](/platforms/node/profiling/) - [PHP (including Laravel and Symfony)](/platforms/php/profiling/) @@ -61,9 +62,31 @@ The "Slowest Functions" widget shows you a list of the functions that took the m Using the Profiling page is typically an advanced workflow, enabling you to directly select transactions of interest and examine detailed profiling data. -Selecting one of the transactions will take you to the **Profile Summary** page below. On this page, you can examine the aggregated [flame graph](/product/profiling/flame-charts-graphs) that presents aggregated sample data for the selected transaction. +## Profiling Summary Page -![Transaction Profile summary page](transaction-profile-view.png) +Selecting one of the transactions will take you to the **Profile Summary** page below. On this page, you can examine the aggregated information of this profile. + +![Transaction Profile summary page](new-transaction-profile-view.png) + +While the **Profiling** page can be used to view information about the profiles in our application, the **Profile Summary** page shows aggregated information from profiles collected under a single type of transaction. + +This information allows you to dive deeper into what your code was executing during this transaction and may get you closer to the root of the problem. + +The top of the page has a percentile chart with profile durations and a search bar. It helps you visually identify possible performance regressions or changes. You can isolate the date-time ranges you want to investigate by clicking and dragging it. If you want to narrow down your investigation to profiles executed under a specific environment, use the search bar filters. + +The bottom right side of the page has aggregated information about function regressions detected during your selected time range plus, a list of the slowest functions. There's also a list of general information about the profile including: + +- When the profile was last seen +- The total number of profiles collected for this transaction +- p75, p95, and p99 values + +Below the general information is a list of regressions that Sentry may have detected. Clicking the before/after timings in the regressed function list will take you to example flamecharts of the before and after execution so that you can investigate what changed. + +There's also a list of the slowest functions which are consuming the most time in your application. These are good candidates for optimization. + +On the left side of the page is an aggregate flamegraph as well as a digest of the slowest and most regressed functions. We recommend looking for wide frames that have no children as a starting point. This will allow you to identify frames that are often occupying the stack and make good candidates for optimization. Read the [Flame Graphs and Aggregated Flame Graphs](/product/profiling/flame-charts-graphs) docs if you'd like a deeper understanding of this data. + +An alternative way to visualize the flamegraph is by clicking on the "Call Tree" button which will render the flamegraph as an inverted call tree with the leftmost nodes first, which will then expand to their parent nodes. The sample column in the call tree represents the frequency with which Profiling collected stack samples where that function was on the stack. You can expand the tree by clicking on the caret before the function name. (Holding ⌘ at the same time will expand that entire branch all the way to the root.) ## Learn More diff --git a/src/docs/product/profiling/new-transaction-profile-view.png b/src/docs/product/profiling/new-transaction-profile-view.png new file mode 100644 index 0000000000000..b001e30a87327 Binary files /dev/null and b/src/docs/product/profiling/new-transaction-profile-view.png differ diff --git a/src/docs/product/profiling/transaction-profile-view.png b/src/docs/product/profiling/transaction-profile-view.png deleted file mode 100644 index d8658d638ab21..0000000000000 Binary files a/src/docs/product/profiling/transaction-profile-view.png and /dev/null differ