# Bucket longtask durations into performance ranges

Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fdataprime%2Fcookbook%2Fbucket_longtask.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fdataprime%2Fcookbook%2Fbucket_longtask.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

## Problem / Use case[​](#problem--use-case "Direct link to Problem / Use case")

You want to monitor Real User Monitoring (RUM) `longtask` durations and categorize them into performance buckets (e.g., fast, moderate, slow) to track client-side performance issues by severity.

## Query[​](#query "Direct link to Query")

```
source logs

| filter cx_rum.longtask_context.duration > 0

| groupby case_lessthan {

   cx_rum.longtask_context.duration:num,

   100 -> 'Green (0-100)',

   200 -> 'Orange (101-200)',

   300 -> 'Red (201-300)',

   _   -> 'Purple (301 - *)'

 } as Range

 agg count() as count
```

## Expected output[​](#expected-output "Direct link to Expected output")

| Range             | count  |
| ----------------- | ------ |
| Green (0-100)     | 143973 |
| Red (201-300)     | 14961  |
| Orange (101-200)  | 36519  |
| Purple (301 - \*) | 6230   |

## Variations[​](#variations "Direct link to Variations")

* Adjust bucket thresholds based on your UX performance criteria.
* Swap `count()` for `distinct_count(session_id)` to measure impact per user session.

## TL;DR[​](#tldr "Direct link to TL;DR")

Use `case_lessthan` to bucket `longtask` durations into performance ranges for easier trend analysis and alerting. Think of it as your RUM-grade Energon scanner.
