|
@@ -2,7 +2,7 @@ import enum
|
|
|
import logging
|
|
|
from enum import Enum, unique
|
|
|
from itertools import chain
|
|
|
-from typing import Optional
|
|
|
+from typing import Mapping, Optional
|
|
|
|
|
|
from sentry.tsdb.base import TSDBModel
|
|
|
from sentry.utils import metrics
|
|
@@ -546,25 +546,44 @@ TSDBModelReferrer = enum.Enum(
|
|
|
{f"TSDB_MODELID_{model.value}": f"tsdb-modelid:{model.value}" for model in TSDBModel},
|
|
|
)
|
|
|
|
|
|
-# specific suffixes that apply to tsdb-modelid:4 referrers, these are optional
|
|
|
-# and are passed around through using `referrer_suffix`
|
|
|
-TSDB_4_SUFFIXES = {
|
|
|
- "frequency_snoozes",
|
|
|
- "user_count_snoozes",
|
|
|
- "alert_event_frequency",
|
|
|
- "alert_event_uniq_user_frequency",
|
|
|
- "alert_event_frequency_percent",
|
|
|
+# specific suffixes that apply to tsdb-modelid referrers, these are optional
|
|
|
+# and are passed around through using `referrer_suffix`.
|
|
|
+TSDB_MODEL_TO_SUFFIXES = {
|
|
|
+ TSDBModel.group: {
|
|
|
+ "frequency_snoozes",
|
|
|
+ "alert_event_frequency",
|
|
|
+ "alert_event_frequency_percent",
|
|
|
+ },
|
|
|
+ TSDBModel.group_performance: {
|
|
|
+ "frequency_snoozes",
|
|
|
+ "alert_event_frequency",
|
|
|
+ "alert_event_frequency_percent",
|
|
|
+ },
|
|
|
+ TSDBModel.users_affected_by_group: {"user_count_snoozes", "alert_event_uniq_user_frequency"},
|
|
|
+ TSDBModel.users_affected_by_perf_group: {
|
|
|
+ "user_count_snoozes",
|
|
|
+ "alert_event_uniq_user_frequency",
|
|
|
+ },
|
|
|
}
|
|
|
|
|
|
-TSDBModel4Referrer = enum.Enum(
|
|
|
- "TSDBModel4Referrer",
|
|
|
- {f"TSDB_MODELID_4_{suffix}": f"tsdb-modelid:4.{suffix}" for suffix in TSDB_4_SUFFIXES},
|
|
|
+
|
|
|
+def generate_enums() -> Mapping[str, str]:
|
|
|
+ enums = {}
|
|
|
+ for model, suffixes in TSDB_MODEL_TO_SUFFIXES.items():
|
|
|
+ for suffix in suffixes:
|
|
|
+ enums[f"TSDB_MODELID_{model.value}_{suffix}"] = f"tsdb-modelid:{model.value}.{suffix}"
|
|
|
+ return enums
|
|
|
+
|
|
|
+
|
|
|
+TSDBModelSuffixReferrer = enum.Enum(
|
|
|
+ "TSDBModelSuffixReferrer",
|
|
|
+ generate_enums(),
|
|
|
)
|
|
|
|
|
|
|
|
|
Referrer = enum.Enum(
|
|
|
"Referrer",
|
|
|
- [(i.name, i.value) for i in chain(ReferrerBase, TSDBModelReferrer, TSDBModel4Referrer)],
|
|
|
+ [(i.name, i.value) for i in chain(ReferrerBase, TSDBModelReferrer, TSDBModelSuffixReferrer)],
|
|
|
)
|
|
|
|
|
|
|