in achievements-server/src/main/java/org/jetbrains/buildserver/achievements/impl/UserEventsImpl.java [23:43]
public synchronized void registerEvent(@NotNull String eventName) {
ArrayList<Long> eventLog = myEventLog.get(eventName);
if (eventLog == null) {
eventLog = new ArrayList<Long>();
myEventLog.put(eventName, eventLog);
}
long mostRecentEvent = myTimeService.now();
long oldestEvent = mostRecentEvent - Dates.ONE_DAY;
eventLog.add(mostRecentEvent);
Iterator<Long> it = eventLog.iterator();
while (it.hasNext()) {
if (it.next() > oldestEvent) continue;
it.remove();
}
eventLog.trimToSize();
LOG.debug("New event registered: " + eventName + ", num events: " + eventLog.size());
}