|
@@ -315,3 +315,34 @@ class SnQLTest(TestCase, BaseMetricsTestCase):
|
|
|
|
|
|
with pytest.raises(InvalidParams):
|
|
|
run_query(request)
|
|
|
+
|
|
|
+ def test_interval_with_totals(self) -> None:
|
|
|
+ query = MetricsQuery(
|
|
|
+ query=Timeseries(
|
|
|
+ metric=Metric(
|
|
|
+ "transaction.duration",
|
|
|
+ TransactionMRI.DURATION.value,
|
|
|
+ ),
|
|
|
+ aggregate="max",
|
|
|
+ filters=[Condition(Column("status_code"), Op.EQ, "200")],
|
|
|
+ groupby=[Column("transaction")],
|
|
|
+ ),
|
|
|
+ start=self.hour_ago,
|
|
|
+ end=self.now,
|
|
|
+ rollup=Rollup(interval=60, totals=True, granularity=60),
|
|
|
+ scope=MetricsScope(
|
|
|
+ org_ids=[self.org_id],
|
|
|
+ project_ids=[self.project.id],
|
|
|
+ use_case_id=UseCaseID.TRANSACTIONS.value,
|
|
|
+ ),
|
|
|
+ )
|
|
|
+
|
|
|
+ request = Request(
|
|
|
+ dataset="generic_metrics",
|
|
|
+ app_id="tests",
|
|
|
+ query=query,
|
|
|
+ tenant_ids={"referrer": "metrics.testing.test", "organization_id": self.org_id},
|
|
|
+ )
|
|
|
+ result = run_query(request)
|
|
|
+ assert len(result["data"]) == 54
|
|
|
+ assert result["totals"]["aggregate_value"] == 59
|