@Override
 public void notifyCompilationQueued(OptimizedCallTarget target) {
   queues++;
   if (firstCompilation == 0) {
     firstCompilation = System.nanoTime();
   }
   OptimizedCompilationProfile profile = target.getCompilationProfile();
   if (profile != null) {
     timeToQueue.accept(System.nanoTime() - profile.getTimestamp());
   }
 }
  @Override
  public void notifyCompilationStarted(OptimizedCallTarget target) {
    compilations++;
    CompilationLocal local = new CompilationLocal();
    local.compilationStarted = System.nanoTime();
    compilationLocal.set(local);

    OptimizedCompilationProfile profile = target.getCompilationProfile();
    if (profile != null) {
      deferCompilations.accept(profile.getDeferredCount());
      timeToCompilation.accept(local.compilationStarted - profile.getTimestamp());
    }
  }