From fe048a675c0de25fcaa61b0dff407050fb9a01d0 Mon Sep 17 00:00:00 2001 From: Steven Eubank <47563310+smeubank@users.noreply.github.com> Date: Tue, 4 Oct 2022 10:36:27 -0700 Subject: [PATCH 1/3] Create 0023-improve-fingerprinting-for-performance-issues --- ...rove-fingerprinting-for-performance-issues | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 text/0023-improve-fingerprinting-for-performance-issues diff --git a/text/0023-improve-fingerprinting-for-performance-issues b/text/0023-improve-fingerprinting-for-performance-issues new file mode 100644 index 00000000..25a59484 --- /dev/null +++ b/text/0023-improve-fingerprinting-for-performance-issues @@ -0,0 +1,48 @@ +* Start Date: 2022-10-04 +* RFC Type: feature +* RFC PR: + +# Summary + +Performance issues has started with detecting N+1 issues and adding them to the issues page. This was a first proof of concept, now we are looking to add different types of performance issues to and group those events on the issues page. However there is an drawback of performance spans and transactions versus error events. Error events have titles and stack traces which can provided unique meta-data for [fingerprinting](https://docs.sentry.io/product/data-management-settings/event-grouping/fingerprint-rules/) and [grouping](https://docs.sentry.io/product/sentry-basics/grouping-and-fingerprints/). Today spans do not necessarily provide enough distinct metadata to be able to efficaciously group performance events. + +# Motivation + +We want to enable scaling out the number of different types of performance issues which can be detected and grouped. + +# Background + +We need communicate the issue around fingerprinting for performance issues, and suggest different ways to add more contextual data to improve fingerprinting. Alternatively we are open to solutions which work around fingerprinting. + +# Supporting Data + +Example performance issue type proposals (only ideation from this list and for context not commitments for delivery): +* Slow DB spans +* Consecutive similar spans +* Identical spans +* N+1 DB Queries +* N+1 API Calls +* UI Freeze +* Slow Assets +* Component Re-renders +* Main thread I/O + ANR/Slow Frame +* Shader Compilation +* Txn Deviations +* Cancelled HTTP Requests / Flaky Network +* Degraded performance for a demographic +* Excessive DOM size + +# Options Considered + +1. Client side/SDK Includes application file name in span/transaction +2. Can we fetch more info on Sentry server side from profiling if available +3. Could SDKs detect something and create a unique identifier artificially to empower fingerprinting? + +# Drawbacks + +Depending on where we put the logic for adding more contextual data, would we be adding too much overhead in SDKs/host application. + +# Unresolved questions + +* Can we specify why fingerprinting is required? +* what the threshold would be for uniqueness to enable fingerprinting for performance issues? From bb4abc393fef5c1b453f25f3e34d14ee21c91764 Mon Sep 17 00:00:00 2001 From: Steven Eubank <47563310+smeubank@users.noreply.github.com> Date: Tue, 4 Oct 2022 11:01:03 -0700 Subject: [PATCH 2/3] Rename 0023-improve-fingerprinting-for-performance-issues to 0023-improve-fingerprinting-for-performance-issues.md --- ...sues => 0023-improve-fingerprinting-for-performance-issues.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename text/{0023-improve-fingerprinting-for-performance-issues => 0023-improve-fingerprinting-for-performance-issues.md} (100%) diff --git a/text/0023-improve-fingerprinting-for-performance-issues b/text/0023-improve-fingerprinting-for-performance-issues.md similarity index 100% rename from text/0023-improve-fingerprinting-for-performance-issues rename to text/0023-improve-fingerprinting-for-performance-issues.md From d031fac5991853f113d37ce062ff45ec0225d944 Mon Sep 17 00:00:00 2001 From: Steven Eubank <47563310+smeubank@users.noreply.github.com> Date: Tue, 4 Oct 2022 13:40:20 -0700 Subject: [PATCH 3/3] Update 0023-improve-fingerprinting-for-performance-issues.md --- text/0023-improve-fingerprinting-for-performance-issues.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/0023-improve-fingerprinting-for-performance-issues.md b/text/0023-improve-fingerprinting-for-performance-issues.md index 25a59484..03b8cb46 100644 --- a/text/0023-improve-fingerprinting-for-performance-issues.md +++ b/text/0023-improve-fingerprinting-for-performance-issues.md @@ -32,6 +32,8 @@ Example performance issue type proposals (only ideation from this list and for c * Degraded performance for a demographic * Excessive DOM size +https://www.notion.so/sentry/dff3aad2a74940779c3e89d8d8af2537?v=03d1efc28741433c9a203b92fe4cef6e + # Options Considered 1. Client side/SDK Includes application file name in span/transaction