diff --git a/docs/product/performance/caches/cache-page.mdx b/docs/product/performance/caches/cache-page.mdx new file mode 100644 index 0000000000000..23d5db06d0df0 --- /dev/null +++ b/docs/product/performance/caches/cache-page.mdx @@ -0,0 +1,29 @@ +--- +title: "Cache Page" +sidebar_order: 55 +description: "Learn more about Sentry's Cache page, which provides insights into cache utilization and latency, so you can investigate potential cache performance issues." +--- + +The **Caches** page gives an overview of cache performance across all endpoints for currently selected backend projects with summary graphs for **Miss Rate** and **Requests Per Minute** (throughput). You can use these as a starting point to see if there are any potential cache performance issues, for example, a higher than expected Miss Rate percentage. + + If you see an anomaly or want to investigate a time range further, click and drag to select a range directly in the graph and data will be filtered for that specific time range only. + +The transaction table shows a list of endpoints that contain at least one `cache.get` span along with: + +- Its average value size (the bytes being fetched from cache) +- Throughput +- Average transaction duration +- Miss rate percentage (how often did a lookup did not return a value) +- Time spent (total time your application spent on a given transaction) + +By default, this table is sorted by most time spent. This means that endpoints at the top are usually really slow, requested very frequently, or both. You can change the sort order to view top transactions by throughput, miss rate percentage, average value size, or average transaction duration. + +To investigate a specific endpoint, click on it to open a sidebar showing some sample events and additional duration metrics. + +## Sample List + +To help you compare the performances of cache hits (where a value was found in the cache) versus misses (where no value corresponding to the key was found in the cache) over time, Sentry automatically surfaces a distribution of both samples for the timeframe selected from the **Caches** page. + +These sample events are shown as triangles in the average duration graphs at the top. These sample events are also listed in the table below, along with their spans, key, transaction duration, and hit/miss status. + +From the sample list, you can drill down to specific good, average, or bad examples of cache performance within an endpoint. To view the detailed trace that contained the span operation, click on a **Span ID**. diff --git a/docs/product/performance/caches/index.mdx b/docs/product/performance/caches/index.mdx new file mode 100644 index 0000000000000..84095a7df196f --- /dev/null +++ b/docs/product/performance/caches/index.mdx @@ -0,0 +1,33 @@ +--- +title: "Caches" +sidebar_order: 50 +description: "Learn more about cache monitoring with Sentry and how it can help improve your application's performance." +--- + + + +A cache can be used to speed up data retrieval, thereby improving application performance. A cache stores data temporarily to speed up subsequent access to that data. This allows your application to get data from cached memory (if it is available) instead having to download that data again or retrieving it from a potentially slow data layer. Caching can speed up read-heavy workloads for applications like Q&A portals, gaming, media sharing, and social networking. + +A successful cache results in a high hit rate which means the data was present when fetched. A cache miss occurs when the data fetched was not present in the cache. If you have performance monitoring enabled and your application uses caching, you can see how your caches are performing with Sentry. + +Sentry's cache monitoring provides insights into cache utilization and latency so that you can improve the performance of the endpoints that interact with caches. + +Starting with the [Cache page](https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/), you get an overview of the transactions within your application that are making at least one lookup against a cache. From there, you can dig into specific cache span operations by clicking a transaction and viewing its sample list. + +## Instrumentation + +Cache monitoring currently supports [auto instrumentation](/platform-redirect/?next=%2Fperformance%2Finstrumentation%2Fautomatic-instrumentation) for [Django's cache framework](https://docs.djangoproject.com/en/5.0/topics/cache/) when the [cache_spans option](https://docs.sentry.io/platforms/python/integrations/django/#options) is set to `True`. Other frameworks require custom instrumentation. + +### Custom instrumentation + +If available, custom instrumentation is documented on an environment-by-environment basis as listed below: + +- [Python SDK](/platforms/python/performance/instrumentation/custom-instrumentation/caches-module/) +- [JavaScript SDKs](/platforms/javascript/performance/instrumentation/custom-instrumentation/caches-module/) +- [Laravel SDK](/platforms/php/guides/laravel/performance/instrumentation/custom-instrumentation/) +- [Java SDK](/platforms/java/performance/instrumentation/custom-instrumentation/) +- [Ruby SDK](/platforms/ruby/performance/instrumentation/custom-instrumentation/) +- [.NET SDK](/platforms/dotnet/performance/instrumentation/custom-instrumentation/) +- [Symfony SDK](/platforms/php/guides/symfony/performance/instrumentation/custom-instrumentation/) + +To see what cache data can be set on spans, see the [Cache Module Developer Specification](https://develop.sentry.dev/sdk/performance/modules/caches/). diff --git a/docs/product/performance/metrics.mdx b/docs/product/performance/metrics.mdx index cbb0323de4630..8593defae70e9 100644 --- a/docs/product/performance/metrics.mdx +++ b/docs/product/performance/metrics.mdx @@ -1,6 +1,6 @@ --- title: "Performance Metrics" -sidebar_order: 90 +sidebar_order: 110 description: "Learn more about Sentry's Performance metrics such as Apdex, failure rate, throughput, and latency, and the user experience insights about your application that they provide." --- diff --git a/docs/product/performance/mobile-vitals/app-starts.mdx b/docs/product/performance/mobile-vitals/app-starts.mdx index 9ff4651647dfa..06bf9eba43b6a 100644 --- a/docs/product/performance/mobile-vitals/app-starts.mdx +++ b/docs/product/performance/mobile-vitals/app-starts.mdx @@ -1,6 +1,6 @@ --- title: "App Starts" -sidebar_order: 50 +sidebar_order: 20 description: "Learn how to monitor your mobile application's performance by using App Starts to identify slow or regressed screens." --- diff --git a/docs/product/performance/mobile-vitals/index.mdx b/docs/product/performance/mobile-vitals/index.mdx index d6b34ce41c603..57787d5c01354 100644 --- a/docs/product/performance/mobile-vitals/index.mdx +++ b/docs/product/performance/mobile-vitals/index.mdx @@ -1,6 +1,6 @@ --- title: "Mobile Vitals" -sidebar_order: 70 +sidebar_order: 100 description: "Learn more about Mobile Vitals in Sentry, and how they give you a better understanding of your mobile application's health." --- diff --git a/docs/product/performance/performance-overhead.mdx b/docs/product/performance/performance-overhead.mdx index 1c4fc1394565d..af33d635e9041 100644 --- a/docs/product/performance/performance-overhead.mdx +++ b/docs/product/performance/performance-overhead.mdx @@ -1,6 +1,6 @@ --- title: Performance Overhead -sidebar_order: 95 +sidebar_order: 120 description: "Learn more about how enabling Performance Monitoring in Sentry impacts the performance of your application." --- diff --git a/docs/product/performance/queries.mdx b/docs/product/performance/queries.mdx index 0d2fb5eaac9ee..6db5919015837 100644 --- a/docs/product/performance/queries.mdx +++ b/docs/product/performance/queries.mdx @@ -1,6 +1,6 @@ --- title: Queries -sidebar_order: 50 +sidebar_order: 60 description: "Monitor the performance of your database queries and drill into samples to investigate further." --- diff --git a/docs/product/performance/requests.mdx b/docs/product/performance/requests.mdx index 0a8e4f861a578..a98f5d2ae54b2 100644 --- a/docs/product/performance/requests.mdx +++ b/docs/product/performance/requests.mdx @@ -1,6 +1,6 @@ --- title: Requests -sidebar_order: 55 +sidebar_order: 80 description: "Track the performance of your application's HTTP requests and drill into the domains serving those requests." --- diff --git a/docs/product/performance/resources.mdx b/docs/product/performance/resources.mdx index af1475607232d..2a0f10edefb06 100644 --- a/docs/product/performance/resources.mdx +++ b/docs/product/performance/resources.mdx @@ -1,6 +1,6 @@ --- title: Resources -sidebar_order: 50 +sidebar_order: 70 description: "Learn more about browser resource performance monitoring, which allows you to debug the performance of loading JavaScript and CSS on your frontend." --- diff --git a/docs/product/performance/retention-priorities/index.mdx b/docs/product/performance/retention-priorities/index.mdx index 911b9a4c6b2ef..6c9c75970a5a9 100644 --- a/docs/product/performance/retention-priorities/index.mdx +++ b/docs/product/performance/retention-priorities/index.mdx @@ -1,6 +1,6 @@ --- title: Retention Priorities -sidebar_order: 100 +sidebar_order: 130 description: "Learn how Sentry determines retention priorities and how to update them." --- diff --git a/docs/product/performance/web-vitals/index.mdx b/docs/product/performance/web-vitals/index.mdx index 87d4d7d91c4bd..4db034498a2e3 100644 --- a/docs/product/performance/web-vitals/index.mdx +++ b/docs/product/performance/web-vitals/index.mdx @@ -1,6 +1,6 @@ --- title: "Web Vitals" -sidebar_order: 60 +sidebar_order: 90 description: "Understand your application's performance score and how each web vital contributes to it. Drill in to explore opportunities to improve your app's overall performance." ---