introduced CircularFifoQueue

only store 100 MetricDataPoints for every operation