Skip to content

Commit 0f96211

Browse files
authored
Revert setting extrapolation mode to sample weighted (#104136)
1 parent 4120b8e commit 0f96211

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

src/sentry/explore/translation/alerts_translation.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
handle_send_historical_data_to_seer,
1414
)
1515
from sentry.snuba.dataset import Dataset
16-
from sentry.snuba.models import QuerySubscription, SnubaQuery, SnubaQueryEventType
16+
from sentry.snuba.models import (
17+
ExtrapolationMode,
18+
QuerySubscription,
19+
SnubaQuery,
20+
SnubaQueryEventType,
21+
)
1722
from sentry.snuba.tasks import update_subscription_in_snuba
1823
from sentry.utils.db import atomic_transaction
1924
from sentry.workflow_engine.models.data_condition import DataCondition
@@ -88,6 +93,11 @@ def translate_detector_and_update_subscription_in_snuba(snuba_query: SnubaQuery)
8893
snuba_query.query = translated_query
8994
snuba_query.dataset = Dataset.EventsAnalyticsPlatform.value
9095

96+
if snapshot["dataset"] == Dataset.PerformanceMetrics.value:
97+
snuba_query.extrapolation_mode = ExtrapolationMode.SERVER_WEIGHTED.value
98+
elif snapshot["dataset"] == Dataset.Transactions.value:
99+
snuba_query.extrapolation_mode = ExtrapolationMode.NONE.value
100+
91101
with atomic_transaction(
92102
using=(
93103
router.db_for_write(SnubaQuery),

tests/sentry/explore/translation/test_alerts_translation.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
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+
)
710
from sentry_protos.snuba.v1.trace_item_attribute_pb2 import Function
811
from sentry_protos.snuba.v1.trace_item_filter_pb2 import ComparisonFilter
912
from urllib3.response import HTTPResponse
@@ -25,7 +28,7 @@
2528
StoreDataResponse,
2629
)
2730
from sentry.snuba.dataset import Dataset
28-
from sentry.snuba.models import SnubaQuery, SnubaQueryEventType
31+
from sentry.snuba.models import ExtrapolationMode, SnubaQuery, SnubaQueryEventType
2932
from sentry.snuba.subscriptions import create_snuba_query, create_snuba_subscription
3033
from sentry.testutils.cases import SnubaTestCase, TestCase
3134
from sentry.testutils.helpers.features import with_feature
@@ -160,6 +163,7 @@ def test_translate_alert_rule_simple_count(self, mock_create_rpc) -> None:
160163
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
161164
assert snuba_query.aggregate == "count(span.duration)"
162165
assert snuba_query.query == "(span.duration:>100) AND is_transaction:1"
166+
assert snuba_query.extrapolation_mode == ExtrapolationMode.SERVER_WEIGHTED.value
163167

164168
event_types = list(
165169
SnubaQueryEventType.objects.filter(snuba_query=snuba_query).values_list(
@@ -202,6 +206,10 @@ def test_translate_alert_rule_simple_count(self, mock_create_rpc) -> None:
202206
assert expression.aggregation.key.name == "sentry.project_id"
203207
assert expression.aggregation.label == "count(span.duration)"
204208
assert expression.label == "count(span.duration)"
209+
assert (
210+
expression.aggregation.extrapolation_mode
211+
== RPCExtrapolationMode.EXTRAPOLATION_MODE_SERVER_ONLY
212+
)
205213

206214
assert len(rpc_time_series_request.group_by) == 0
207215

@@ -256,6 +264,7 @@ def test_translate_alert_rule_p95(self, mock_create_rpc) -> None:
256264
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
257265
assert snuba_query.aggregate == "p95(span.duration)"
258266
assert snuba_query.query == "(transaction.method:GET) AND is_transaction:1"
267+
assert snuba_query.extrapolation_mode == ExtrapolationMode.NONE.value
259268

260269
event_types = list(
261270
SnubaQueryEventType.objects.filter(snuba_query=snuba_query).values_list(
@@ -321,6 +330,7 @@ def test_translate_alert_rule_count_unique(self, mock_create_rpc) -> None:
321330
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
322331
assert snuba_query.aggregate == "count_unique(user)"
323332
assert snuba_query.query == "(transaction:/api/*) AND is_transaction:1"
333+
assert snuba_query.extrapolation_mode == ExtrapolationMode.SERVER_WEIGHTED.value
324334

325335
assert mock_create_rpc.called
326336
call_args = mock_create_rpc.call_args
@@ -377,6 +387,7 @@ def test_translate_alert_rule_empty_query(self, mock_create_rpc) -> None:
377387
assert snuba_query.dataset == Dataset.EventsAnalyticsPlatform.value
378388
assert snuba_query.aggregate == "count(span.duration)"
379389
assert snuba_query.query == "is_transaction:1"
390+
assert snuba_query.extrapolation_mode == ExtrapolationMode.NONE.value
380391

381392
assert mock_create_rpc.called
382393
call_args = mock_create_rpc.call_args

0 commit comments

Comments
 (0)