Browse Source

feat(grouping): Add BuiltInFingerprintVariant [FE] (#63402)

Add BuiltInFingerprintVariant to allow UI to differentiate between
built-in and user-defined custom fingerprint rules.
This PR is front-end component only, split from #63165 which must be
merged firsts.

implements: https://github.com/getsentry/sentry/issues/63044
Bartek Ogryczak 1 year ago
parent
commit
71fc129bad

+ 16 - 0
static/app/components/events/groupingInfo/groupingVariant.tsx

@@ -136,6 +136,22 @@ class GroupVariant extends Component<Props, State> {
         ]);
         addFingerprintInfo(data, variant);
         break;
+      case EventGroupVariantType.BUILT_IN_FINGERPRINT:
+        data.push([
+          t('Type'),
+          <TextWithQuestionTooltip key="type">
+            {variant.type}
+            <QuestionTooltip
+              size="xs"
+              position="top"
+              title={t(
+                'Overrides the default grouping by a Sentry defined fingerprinting rule'
+              )}
+            />
+          </TextWithQuestionTooltip>,
+        ]);
+        addFingerprintInfo(data, variant);
+        break;
       case EventGroupVariantType.SALTED_COMPONENT:
         component = variant.component;
         data.push([

+ 12 - 1
static/app/types/event.tsx

@@ -47,12 +47,18 @@ export type VariantEvidence = {
   parent_span_ids?: string[];
 };
 
-type EventGroupVariantKey = 'custom-fingerprint' | 'app' | 'default' | 'system';
+type EventGroupVariantKey =
+  | 'built-in-fingerprint'
+  | 'custom-fingerprint'
+  | 'app'
+  | 'default'
+  | 'system';
 
 export enum EventGroupVariantType {
   CHECKSUM = 'checksum',
   FALLBACK = 'fallback',
   CUSTOM_FINGERPRINT = 'custom-fingerprint',
+  BUILT_IN_FINGERPRINT = 'built-in-fingerprint',
   COMPONENT = 'component',
   SALTED_COMPONENT = 'salted-component',
   PERFORMANCE_PROBLEM = 'performance-problem',
@@ -90,6 +96,10 @@ interface CustomFingerprintVariant extends BaseVariant, HasComponentGrouping {
   type: EventGroupVariantType.CUSTOM_FINGERPRINT;
 }
 
+interface BuiltInFingerprintVariant extends BaseVariant, HasComponentGrouping {
+  type: EventGroupVariantType.BUILT_IN_FINGERPRINT;
+}
+
 interface SaltedComponentVariant extends BaseVariant, HasComponentGrouping {
   type: EventGroupVariantType.SALTED_COMPONENT;
 }
@@ -105,6 +115,7 @@ export type EventGroupVariant =
   | ComponentVariant
   | SaltedComponentVariant
   | CustomFingerprintVariant
+  | BuiltInFingerprintVariant
   | PerformanceProblemVariant;
 
 export type EventGroupInfo = Record<EventGroupVariantKey, EventGroupVariant>;