Skip to content

Commit cf42f9f

Browse files
committed
fix typing
1 parent 760c130 commit cf42f9f

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

src/sentry/seer/utils.py

+23-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,31 @@
1+
from typing import List, TypedDict
2+
13
from django.conf import settings
24
from urllib3 import Retry
35

46
from sentry.net.http import connection_from_url
57
from sentry.utils import json
68

9+
10+
class BreakpointData(TypedDict):
11+
project: str
12+
# For legacy reasons, the group name is always
13+
# transaction even when working with functions.
14+
transaction: str
15+
aggregate_range_1: float
16+
aggregate_range_2: float
17+
unweighted_t_value: float
18+
unweighted_p_value: float
19+
trend_percentage: float
20+
absolute_percentage_change: float
21+
trend_difference: float
22+
breakpoint: int
23+
24+
25+
class BreakpointResponse(TypedDict):
26+
data: List[BreakpointData]
27+
28+
729
seer_connection_pool = connection_from_url(
830
settings.ANOMALY_DETECTION_URL,
931
retries=Retry(
@@ -14,7 +36,7 @@
1436
)
1537

1638

17-
def detect_breakpoints(breakpoint_request):
39+
def detect_breakpoints(breakpoint_request) -> BreakpointResponse:
1840
response = seer_connection_pool.urlopen(
1941
"POST",
2042
"/trends/breakpoint-detector",

src/sentry/tasks/statistical_detectors.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from sentry.search.events.builder import ProfileTopFunctionsTimeseriesQueryBuilder
3030
from sentry.search.events.fields import get_function_alias
3131
from sentry.search.events.types import QueryBuilderConfig
32-
from sentry.seer.utils import detect_breakpoints
32+
from sentry.seer.utils import BreakpointData, detect_breakpoints
3333
from sentry.sentry_metrics import indexer
3434
from sentry.sentry_metrics.use_case_id_registry import UseCaseID
3535
from sentry.snuba import functions
@@ -249,7 +249,10 @@ def _detect_function_trends(
249249
)
250250

251251

252-
def _detect_function_change_points(functions_list: List[Tuple[int, int]], start: datetime) -> None:
252+
def _detect_function_change_points(
253+
functions_list: List[Tuple[int, int]],
254+
start: datetime,
255+
) -> Generator[BreakpointData, None, None]:
253256
serializer = SnubaTSResultSerializer(None, None, None)
254257

255258
trend_function = "p95()"

0 commit comments

Comments
 (0)