public synchronized float getEventsRate()

in achievements-server/src/main/java/org/jetbrains/buildserver/achievements/impl/UserEventsImpl.java [68:84]


  public synchronized float getEventsRate(@NotNull String eventName, int timeIntervalSeconds) {
    ArrayList<Long> eventLog = myEventLog.get(eventName);
    if (eventLog == null || eventLog.isEmpty()) {
      return 0;
    }

    int count = 1;
    Long startTime = eventLog.get(eventLog.size() - 1);

    for (int i = eventLog.size() - 2; i >= 0; i--) {
      Long time = eventLog.get(i);
      if (time - startTime > timeIntervalSeconds) break;
      count++;
    }

    return 1.0f * count / timeIntervalSeconds;
  }