code: public void tick() {
          final long count = uncounted.sumThenReset();
          final double instantRate = count / interval;
          if (initialized) {
              rate += (alpha * (instantRate - rate));
          } else {
              rate = instantRate;
              initialized = true;
          }
      }
docs: Mark the passage of time and decay the current rate accordingly.