|
@@ -2989,6 +2989,48 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTest(MetricsEnhancedPe
|
|
|
|
|
|
assert meta["isMetricsData"]
|
|
|
|
|
|
+ def test_count_starts(self):
|
|
|
+ self.store_transaction_metric(
|
|
|
+ 200,
|
|
|
+ metric="measurements.app_start_warm",
|
|
|
+ tags={"transaction": "foo_transaction"},
|
|
|
+ timestamp=self.min_ago,
|
|
|
+ )
|
|
|
+ self.store_transaction_metric(
|
|
|
+ 100,
|
|
|
+ metric="measurements.app_start_warm",
|
|
|
+ tags={"transaction": "foo_transaction"},
|
|
|
+ timestamp=self.min_ago,
|
|
|
+ )
|
|
|
+ self.store_transaction_metric(
|
|
|
+ 10,
|
|
|
+ metric="measurements.app_start_cold",
|
|
|
+ tags={"transaction": "foo_transaction"},
|
|
|
+ timestamp=self.min_ago,
|
|
|
+ )
|
|
|
+
|
|
|
+ response = self.do_request(
|
|
|
+ {
|
|
|
+ "field": [
|
|
|
+ "transaction",
|
|
|
+ "count_starts(measurements.app_start_warm)",
|
|
|
+ "count_starts(measurements.app_start_cold)",
|
|
|
+ ],
|
|
|
+ "query": "event.type:transaction",
|
|
|
+ "dataset": "metrics",
|
|
|
+ "per_page": 50,
|
|
|
+ }
|
|
|
+ )
|
|
|
+ assert response.status_code == 200, response.content
|
|
|
+ assert len(response.data["data"]) == 1
|
|
|
+ data = response.data["data"]
|
|
|
+ meta = response.data["meta"]
|
|
|
+
|
|
|
+ assert data[0]["count_starts(measurements.app_start_warm)"] == 2
|
|
|
+ assert data[0]["count_starts(measurements.app_start_cold)"] == 1
|
|
|
+
|
|
|
+ assert meta["isMetricsData"]
|
|
|
+
|
|
|
|
|
|
class OrganizationEventsMetricsEnhancedPerformanceEndpointTestWithOnDemandMetrics(
|
|
|
MetricsEnhancedPerformanceTestCase
|
|
@@ -3107,3 +3149,7 @@ class OrganizationEventsMetricsEnhancedPerformanceEndpointTestWithMetricLayer(
|
|
|
@pytest.mark.xfail(reason="Not implemented")
|
|
|
def test_count_scores(self):
|
|
|
super().test_count_scores()
|
|
|
+
|
|
|
+ @pytest.mark.xfail(reason="Not implemented")
|
|
|
+ def test_count_starts(self):
|
|
|
+ super().test_count_starts()
|