Browse Source

feat(starfish): Change type of percent_change fields (#51398)

- this changes the types of percent_change fields from `percentage` to
`percent_change`
William Mak 1 year ago
parent
commit
72810caedf

+ 1 - 1
src/sentry/search/events/constants.py

@@ -95,7 +95,7 @@ FUNCTION_PATTERN = re.compile(
 
 DURATION_PATTERN = re.compile(r"(\d+\.?\d?)(\D{1,3})")
 
-RESULT_TYPES = {"duration", "string", "number", "integer", "percentage", "date"}
+RESULT_TYPES = {"duration", "string", "number", "integer", "percentage", "percent_change", "date"}
 # event_search normalizes to bytes
 # based on https://getsentry.github.io/relay/relay_metrics/enum.InformationUnit.html
 SIZE_UNITS = {

+ 4 - 4
src/sentry/search/events/datasets/metrics.py

@@ -698,24 +698,24 @@ class MetricsDatasetConfig(DatasetConfig):
                     ],
                     calculated_args=[resolve_metric_id],
                     snql_distribution=self._resolve_percentile_percent_change,
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "http_error_count_percent_change",
                     snql_distribution=self._resolve_http_error_count_percent_change,
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "epm_percent_change",
                     snql_distribution=self._resolve_epm_percent_change,
                     optional_args=[fields.IntervalDefault("interval", 1, None)],
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "eps_percent_change",
                     snql_distribution=self._resolve_eps_percent_change,
                     optional_args=[fields.IntervalDefault("interval", 1, None)],
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
             ]
         }

+ 4 - 4
src/sentry/search/events/datasets/spans_metrics.py

@@ -318,24 +318,24 @@ class SpansMetricsDatasetConfig(DatasetConfig):
                     ],
                     calculated_args=[resolve_metric_id],
                     snql_distribution=self._resolve_percentile_percent_change,
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "http_error_count_percent_change",
                     snql_distribution=self._resolve_http_error_count_percent_change,
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "epm_percent_change",
                     snql_distribution=self._resolve_epm_percent_change,
                     optional_args=[fields.IntervalDefault("interval", 1, None)],
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
                 fields.MetricsFunction(
                     "eps_percent_change",
                     snql_distribution=self._resolve_eps_percent_change,
                     optional_args=[fields.IntervalDefault("interval", 1, None)],
-                    default_result_type="percentage",
+                    default_result_type="percent_change",
                 ),
             ]
         }

+ 6 - 6
tests/snuba/api/endpoints/test_organization_events_span_metrics.py

@@ -314,7 +314,7 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTest(MetricsEnhancedPe
         assert data[1]["description"] == "bar_description"
         assert data[1]["percentile_percent_change(span.duration, 0.95)"] < 0
         assert meta["dataset"] == "spansMetrics"
-        assert meta["fields"]["percentile_percent_change(span.duration, 0.95)"] == "percentage"
+        assert meta["fields"]["percentile_percent_change(span.duration, 0.95)"] == "percent_change"
 
     def test_http_error_count_percent_change(self):
         for _ in range(4):
@@ -344,7 +344,7 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTest(MetricsEnhancedPe
         assert len(data) == 1
         assert data[0]["http_error_count_percent_change()"] == -0.75
         assert meta["dataset"] == "spansMetrics"
-        assert meta["fields"]["http_error_count_percent_change()"] == "percentage"
+        assert meta["fields"]["http_error_count_percent_change()"] == "percent_change"
 
     def test_epm_percent_change(self):
         for _ in range(4):
@@ -373,8 +373,8 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTest(MetricsEnhancedPe
         assert data[0]["epm_percent_change()"] == pytest.approx(-0.75)
         assert data[0]["spm_percent_change()"] == pytest.approx(-0.75)
         assert meta["dataset"] == "spansMetrics"
-        assert meta["fields"]["epm_percent_change()"] == "percentage"
-        assert meta["fields"]["spm_percent_change()"] == "percentage"
+        assert meta["fields"]["epm_percent_change()"] == "percent_change"
+        assert meta["fields"]["spm_percent_change()"] == "percent_change"
 
     def test_eps_percent_change(self):
         for _ in range(4):
@@ -403,5 +403,5 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTest(MetricsEnhancedPe
         assert data[0]["eps_percent_change()"] == pytest.approx(3)
         assert data[0]["sps_percent_change()"] == pytest.approx(3)
         assert meta["dataset"] == "spansMetrics"
-        assert meta["fields"]["eps_percent_change()"] == "percentage"
-        assert meta["fields"]["sps_percent_change()"] == "percentage"
+        assert meta["fields"]["eps_percent_change()"] == "percent_change"
+        assert meta["fields"]["sps_percent_change()"] == "percent_change"