Skip to content

Commit 87131c9

Browse files
authored
chore(flags): Remove organizations:minute-resolution-sessions feature flag from the backend. (#112749)
Part 2 of removing this flag. This removes the flag from the backend, and some old unused references from tests. Part 1: #112748
1 parent 07f15de commit 87131c9

File tree

3 files changed

+43
-52
lines changed

3 files changed

+43
-52
lines changed

src/sentry/features/temporary.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,6 @@ def register_temporary_features(manager: FeatureManager) -> None:
175175
manager.add("organizations:invite-members-rate-limits", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True, api_expose=False)
176176
# Enable flamegraph visualization for MetricKit hang diagnostic stack traces
177177
manager.add("organizations:metrickit-flamegraph", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
178-
# Enable Session Stats down to a minute resolution
179-
manager.add("organizations:minute-resolution-sessions", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True, api_expose=True)
180178
# Enables higher limit for alert rules
181179
manager.add("organizations:more-fast-alerts", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)
182180
manager.add("organizations:more-slow-alerts", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=False)

tests/sentry/api/serializers/test_organization.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ def test_simple(self) -> None:
8989
"integrations-ticket-rules",
9090
"integrations-vercel",
9191
"invite-members",
92-
"minute-resolution-sessions",
9392
"open-membership",
9493
"relay",
9594
"session-replay-ui",

tests/snuba/api/endpoints/test_organization_sessions.py

Lines changed: 43 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -307,61 +307,55 @@ def test_no_projects(self) -> None:
307307

308308
@freeze_time(MOCK_DATETIME_PLUS_TEN_MINUTES)
309309
def test_minute_resolution(self) -> None:
310-
with self.feature("organizations:minute-resolution-sessions"):
311-
response = self.do_request(
312-
{
313-
"project": [self.project1.id, self.project2.id],
314-
"statsPeriod": "30m",
315-
"interval": "10m",
316-
"field": ["sum(session)"],
317-
}
318-
)
319-
assert response.status_code == 200, response.content
310+
response = self.do_request(
311+
{
312+
"project": [self.project1.id, self.project2.id],
313+
"statsPeriod": "30m",
314+
"interval": "10m",
315+
"field": ["sum(session)"],
316+
}
317+
)
318+
assert response.status_code == 200, response.content
320319

321-
ten_min = 10 * 60
322-
expected_start = adjust_start(
323-
MOCK_DATETIME.replace(hour=12, minute=0, second=0), ten_min
324-
)
325-
expected_end = adjust_end(MOCK_DATETIME.replace(hour=12, minute=38, second=0), ten_min)
326-
327-
assert result_sorted(response.data) == {
328-
"start": expected_start.strftime(SNUBA_TIME_FORMAT),
329-
"end": expected_end.strftime(SNUBA_TIME_FORMAT),
330-
"query": "",
331-
"intervals": [
332-
*[
333-
MOCK_DATETIME.replace(hour=12, minute=min, second=0).strftime(
334-
SNUBA_TIME_FORMAT
335-
)
336-
for min in [0, 10, 20, 30]
337-
],
338-
],
339-
"groups": [
340-
{
341-
"by": {},
342-
"series": {"sum(session)": [2, 1, 1, 0]},
343-
"totals": {"sum(session)": 4},
344-
}
320+
ten_min = 10 * 60
321+
expected_start = adjust_start(MOCK_DATETIME.replace(hour=12, minute=0, second=0), ten_min)
322+
expected_end = adjust_end(MOCK_DATETIME.replace(hour=12, minute=38, second=0), ten_min)
323+
324+
assert result_sorted(response.data) == {
325+
"start": expected_start.strftime(SNUBA_TIME_FORMAT),
326+
"end": expected_end.strftime(SNUBA_TIME_FORMAT),
327+
"query": "",
328+
"intervals": [
329+
*[
330+
MOCK_DATETIME.replace(hour=12, minute=min, second=0).strftime(SNUBA_TIME_FORMAT)
331+
for min in [0, 10, 20, 30]
345332
],
346-
}
333+
],
334+
"groups": [
335+
{
336+
"by": {},
337+
"series": {"sum(session)": [2, 1, 1, 0]},
338+
"totals": {"sum(session)": 4},
339+
}
340+
],
341+
}
347342

348343
@freeze_time(MOCK_DATETIME_PLUS_TEN_MINUTES)
349344
def test_10s_resolution(self) -> None:
350-
with self.feature("organizations:minute-resolution-sessions"):
351-
response = self.do_request(
352-
{
353-
"project": [self.project1.id],
354-
"statsPeriod": "1m",
355-
"interval": "10s",
356-
"field": ["sum(session)"],
357-
}
358-
)
359-
assert response.status_code == 200, response.content
345+
response = self.do_request(
346+
{
347+
"project": [self.project1.id],
348+
"statsPeriod": "1m",
349+
"interval": "10s",
350+
"field": ["sum(session)"],
351+
}
352+
)
353+
assert response.status_code == 200, response.content
360354

361-
# With the metrics backend, we should get exactly what we asked for,
362-
# 6 intervals with 10 second length. However, since we add both the
363-
# starting and ending interval we get 7 intervals.
364-
assert len(response.data["intervals"]) == 7
355+
# With the metrics backend, we should get exactly what we asked for,
356+
# 6 intervals with 10 second length. However, since we add both the
357+
# starting and ending interval we get 7 intervals.
358+
assert len(response.data["intervals"]) == 7
365359

366360
@freeze_time(MOCK_DATETIME)
367361
def test_filter_projects(self) -> None:

0 commit comments

Comments
 (0)