Browse Source

fix(mep): Resolve type performance (#37759)

- This causes the type reslover to return known types immediately so if
  there aren't any custom measurements we don't make an additional query
William Mak 2 years ago
parent
commit
14ac242fc5
1 changed files with 6 additions and 6 deletions
  1. 6 6
      src/sentry/search/events/datasets/metrics.py

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

@@ -94,6 +94,12 @@ class MetricsDatasetConfig(DatasetConfig):
         ) -> str:
             argument = function_arguments[index]
             value = parameter_values[argument.name]
+            if (
+                value == "transaction.duration"
+                or is_duration_measurement(value)
+                or is_span_op_breakdown(value)
+            ):
+                return "duration"
             for measurement in self.builder.custom_measurement_map:
                 if measurement["name"] == value and measurement["metric_id"] is not None:
                     unit = measurement["unit"]
@@ -105,12 +111,6 @@ class MetricsDatasetConfig(DatasetConfig):
                         return "percentage"
                     else:
                         return "number"
-            if (
-                value == "transaction.duration"
-                or is_duration_measurement(value)
-                or is_span_op_breakdown(value)
-            ):
-                return "duration"
             return "number"
 
         return result_type_fn