in usage-statistics-impl/src/jetbrains/buildServer/usageStatistics/impl/UsageStatisticsCollectorImpl.java [120:144]
public void run() {
waitForEvent();
while (serverIsActive()) {
synchronized (myLock) {
myIsCollectingNow = true;
myCollectingWasForced = false;
}
LOG.info("Starting usage statistics collection...");
final long processStart = System.nanoTime();
final List<Pair<String, Object>> newStatistics = new ArrayList<Pair<String, Object>>();
collectStatistics(newStatistics);
synchronized (myLock) {
myCollectedStatistics = newStatistics;
myLastCollectingFinishDate = Dates.now();
myIsCollectingNow = false;
myLock.notifyAll();
}
final long processFinish = System.nanoTime();
LOG.info("Finish usage statistics collection, collected in " + TimeUnit.MILLISECONDS.convert(processFinish - processStart, TimeUnit.NANOSECONDS) + " ms");
waitForEvent();
}
}