Hey Marwan - this is an interesting topic; as a public API, we have some fairly standard limits on users’ query usage, including limits on depth, size, duration, etc. of a given query. In my experience, most (if not all) aggregate queries using the user-facing GraphQL API against the task run / task run state routes will violate one of those limits.
That being said, we will definitely be exposing usage trackers in the UI for billing purposes and we definitely recognize the need for more custom analytics, so we’re working on some new analytics features for this purpose -- stay tuned!