Benjamin Lerer created CASSANDRA-17222:
------------------------------------------

             Summary: Add new metrics to track the number of requests performed 
by GROUP BY and Aggregation queries 
                 Key: CASSANDRA-17222
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17222
             Project: Cassandra
          Issue Type: Improvement
          Components: Observability/Metrics
            Reporter: Benjamin Lerer


When a user perform a GROUP BY query or an aggregate query (e.g. {{SELECT 
count(*) FROM my_table}}) internally C* will send multiple internal requests to 
avoid running out of memory. The page size used for those internal queries is 
the same as the external page size.

Having a some visibility on the number of internal requests happening for a 
group by or an aggregate query is important as it might help administrators to 
debug performance issues.

We should add some separate metrics for GROUP BY queries and Aggregate queries

+Additional information for newcomers:+

* A new metric class called {{AggregationMetrics}} should be created with an 
{{Histogram}} called {{internalPagesPerGroupByQuerie}} and another called 
{{internalPagesPerAggregateQuerie}} (see {{BatchMetrics}} for an example
* High level query paging are managed by {{AggregationQueryPager}}. The number 
of queries performed should be incremented within {{fetchSubPage}} and the 
metrics should be updated on close. 
*  To test that the numbers are reliable, you need to create a new Unit Test 
{{AggregationMetricsTest}}. To have some example of how to test group by 
queries with paging, you can look into  
{{SelectGroupByTest.testGroupByWithPaging()}} to check how to clear the 
histograms between test you can look into 
{{BatchMetricsTests.clearHistogram()}} 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to