While doing a heap analysis of a large cluster(1000+), I found that majority of the strongly referenced objects on heap are coming from ArrivalWindow.
Currently ArrivalWindow uses BoundedStatsDeque which uses LinkedBlockingDeque<Long> deque.
For a cluster of size 1000, it will translate into 2 million objects.
We can use primitives and use an array of long(long). This will cut down on the number of objects and the change is not that big.