When measuring intervals of time it's much better & safer to use System.nanoTime() than System.currentTimeMillis(). The latter is affected by system clock drift and adjustments (like by system time daemon) and the former is much more precise and stable.
For example NettyResponseFuture can be improved and maybe some other classes.