public void run()

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();
    }
  }