Skip to content

Commit 043be68

Browse files
authored
feat: Remove extrapolation modes from alerts translation (#103823)
1 parent b97b6a0 commit 043be68

File tree

2 files changed

+7
-23
lines changed

2 files changed

+7
-23
lines changed

src/sentry/explore/translation/alerts_translation.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22

3+
import sentry_sdk
34
from django.db import router, transaction
45

56
from sentry import features
@@ -12,12 +13,7 @@
1213
handle_send_historical_data_to_seer,
1314
)
1415
from sentry.snuba.dataset import Dataset
15-
from sentry.snuba.models import (
16-
ExtrapolationMode,
17-
QuerySubscription,
18-
SnubaQuery,
19-
SnubaQueryEventType,
20-
)
16+
from sentry.snuba.models import QuerySubscription, SnubaQuery, SnubaQueryEventType
2117
from sentry.snuba.tasks import update_subscription_in_snuba
2218
from sentry.utils.db import atomic_transaction
2319
from sentry.workflow_engine.models.data_condition import DataCondition
@@ -79,6 +75,10 @@ def translate_detector_and_update_subscription_in_snuba(snuba_query: SnubaQuery)
7975
)
8076

8177
if dropped_fields["selected_columns"]:
78+
with sentry_sdk.isolation_scope() as scope:
79+
scope.set_tag("dropped_fields", dropped_fields["selected_columns"])
80+
scope.set_tag("snuba_query", snuba_query.id)
81+
sentry_sdk.capture_message("Unsported column")
8282
return
8383

8484
translated_aggregate = eap_query_parts["selected_columns"][0]
@@ -88,11 +88,6 @@ def translate_detector_and_update_subscription_in_snuba(snuba_query: SnubaQuery)
8888
snuba_query.query = translated_query
8989
snuba_query.dataset = Dataset.EventsAnalyticsPlatform.value
9090

91-
if snapshot["dataset"] == Dataset.PerformanceMetrics.value:
92-
snuba_query.extrapolation_mode = ExtrapolationMode.SERVER_WEIGHTED.value
93-
elif snapshot["dataset"] == Dataset.Transactions.value:
94-
snuba_query.extrapolation_mode = ExtrapolationMode.NONE.value
95-
9691
with atomic_transaction(
9792
using=(
9893
router.db_for_write(SnubaQuery),

tests/sentry/explore/translation/test_alerts_translation.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import orjson
55
import pytest
66
from sentry_protos.snuba.v1.request_common_pb2 import TraceItemType
7-
from sentry_protos.snuba.v1.trace_item_attribute_pb2 import (
8-
ExtrapolationMode as RPCExtrapolationMode,
9-
)
107
from sentry_protos.snuba.v1.trace_item_attribute_pb2 import Function
118
from sentry_protos.snuba.v1.trace_item_filter_pb2 import ComparisonFilter
129
from urllib3.response import HTTPResponse
@@ -28,7 +25,7 @@
2825
StoreDataResponse,
2926
)
3027
from sentry.snuba.dataset import Dataset
31-
from sentry.snuba.models import ExtrapolationMode, SnubaQuery, SnubaQueryEventType
28+
from sentry.snuba.models import SnubaQuery, SnubaQueryEventType
3229
from sentry.snuba.subscriptions import create_snuba_query, create_snuba_subscription
3330
from sentry.testutils.cases import SnubaTestCase, TestCase
3431
from sentry.testutils.helpers.features import with_feature
@@ -163,7 +160,6 @@ def test_translate_alert_rule_simple_count(self, mock_create_rpc) -> None:
163160
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
164161
assert snuba_query.aggregate == "count(span.duration)"
165162
assert snuba_query.query == "(span.duration:>100) AND is_transaction:1"
166-
assert snuba_query.extrapolation_mode == ExtrapolationMode.SERVER_WEIGHTED.value
167163

168164
event_types = list(
169165
SnubaQueryEventType.objects.filter(snuba_query=snuba_query).values_list(
@@ -205,10 +201,6 @@ def test_translate_alert_rule_simple_count(self, mock_create_rpc) -> None:
205201
assert expression.aggregation.aggregate == Function.FUNCTION_COUNT
206202
assert expression.aggregation.key.name == "sentry.project_id"
207203
assert expression.aggregation.label == "count(span.duration)"
208-
assert (
209-
expression.aggregation.extrapolation_mode
210-
== RPCExtrapolationMode.EXTRAPOLATION_MODE_SAMPLE_WEIGHTED
211-
)
212204
assert expression.label == "count(span.duration)"
213205

214206
assert len(rpc_time_series_request.group_by) == 0
@@ -264,7 +256,6 @@ def test_translate_alert_rule_p95(self, mock_create_rpc) -> None:
264256
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
265257
assert snuba_query.aggregate == "p95(span.duration)"
266258
assert snuba_query.query == "(transaction.method:GET) AND is_transaction:1"
267-
assert snuba_query.extrapolation_mode == ExtrapolationMode.NONE.value
268259

269260
event_types = list(
270261
SnubaQueryEventType.objects.filter(snuba_query=snuba_query).values_list(
@@ -330,7 +321,6 @@ def test_translate_alert_rule_count_unique(self, mock_create_rpc) -> None:
330321
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
331322
assert snuba_query.aggregate == "count_unique(user)"
332323
assert snuba_query.query == "(transaction:/api/*) AND is_transaction:1"
333-
assert snuba_query.extrapolation_mode == ExtrapolationMode.SERVER_WEIGHTED.value
334324

335325
assert mock_create_rpc.called
336326
call_args = mock_create_rpc.call_args
@@ -387,7 +377,6 @@ def test_translate_alert_rule_empty_query(self, mock_create_rpc) -> None:
387377
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
388378
assert snuba_query.aggregate == "count(span.duration)"
389379
assert snuba_query.query == "is_transaction:1"
390-
assert snuba_query.extrapolation_mode == ExtrapolationMode.NONE.value
391380

392381
assert mock_create_rpc.called
393382
call_args = mock_create_rpc.call_args

0 commit comments

Comments
 (0)