added more detailed timing log output for reconciling operations
This commit is contained in:
@@ -24,6 +24,8 @@ import org.eclipse.jdt.core.dom.ITypeBinding;
|
||||
import org.eclipse.jdt.core.dom.MarkerAnnotation;
|
||||
import org.eclipse.jdt.core.dom.NormalAnnotation;
|
||||
import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SpelExpressionReconciler;
|
||||
import org.springframework.ide.vscode.boot.java.utils.CompilationUnitCache;
|
||||
import org.springframework.ide.vscode.boot.java.value.Constants;
|
||||
@@ -34,6 +36,9 @@ import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
|
||||
public class JdtReconciler implements JavaReconciler {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(JdtReconciler.class);
|
||||
|
||||
// annotations with SpEL expression params
|
||||
public static final String SPRING_CACHEABLE = "org.springframework.cache.annotation.Cacheable";
|
||||
public static final String SPRING_CACHE_EVICT = "org.springframework.cache.annotation.CacheEvict";
|
||||
@@ -89,6 +94,10 @@ public class JdtReconciler implements JavaReconciler {
|
||||
|
||||
@Override
|
||||
public void reconcile(IJavaProject project, final IDocument doc, final IProblemCollector problemCollector) {
|
||||
|
||||
log.info("reconciling (JDT): " + project.getElementName() + " - " + doc.getUri());
|
||||
long start = System.currentTimeMillis();
|
||||
|
||||
URI uri = URI.create(doc.getUri());
|
||||
compilationUnitCache.withCompilationUnit(project, uri, cu -> {
|
||||
if (cu != null) {
|
||||
@@ -96,6 +105,9 @@ public class JdtReconciler implements JavaReconciler {
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
long end = System.currentTimeMillis();
|
||||
log.info("reconciling (JDT): " + project.getElementName() + " done in " + (end - start) + "ms");
|
||||
}
|
||||
|
||||
private void reconcileAST(IJavaProject project, IDocument doc, CompilationUnit cu, IProblemCollector problemCollector) {
|
||||
@@ -147,7 +159,8 @@ public class JdtReconciler implements JavaReconciler {
|
||||
@Override
|
||||
public Map<IDocument, Collection<ReconcileProblem>> reconcile(IJavaProject project, List<TextDocument> docs,
|
||||
Function<TextDocument, IProblemCollector> problemCollectorFactory) {
|
||||
// TODO Auto-generated method stub
|
||||
log.info("reconciling (JDT, multiple docs): " + project.getElementName() + " - " + docs.size());
|
||||
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
|
||||
@@ -61,11 +61,8 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
private static final Logger log = LoggerFactory.getLogger(RewriteReconciler.class);
|
||||
|
||||
private RewriteCompilationUnitCache cuCache;
|
||||
|
||||
private QuickfixRegistry quickfixRegistry;
|
||||
|
||||
private RewriteRecipeRepository recipeRepo;
|
||||
|
||||
private BootJavaConfig config;
|
||||
|
||||
public RewriteReconciler(RewriteRecipeRepository recipeRepo, RewriteCompilationUnitCache cuCache, QuickfixRegistry quickfixRegistry, BootJavaConfig config) {
|
||||
@@ -77,10 +74,14 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
|
||||
@Override
|
||||
public void reconcile(IJavaProject project, IDocument doc, IProblemCollector problemCollector) {
|
||||
|
||||
if (!config.isRewriteReconcileEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
log.info("reconciling (OpenRewrite): " + project.getElementName() + " - " + doc.getUri());
|
||||
long start = System.currentTimeMillis();
|
||||
|
||||
try {
|
||||
problemCollector.beginCollecting();
|
||||
|
||||
@@ -100,7 +101,10 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
}
|
||||
} finally {
|
||||
problemCollector.endCollecting();
|
||||
}
|
||||
}
|
||||
|
||||
long end = System.currentTimeMillis();
|
||||
log.info("reconciling (OpenRewrite): " + project.getElementName() + " done in " + (end - start) + "ms");
|
||||
}
|
||||
|
||||
private List<ReconcileProblem> createProblems(IDocument doc, FixAssistMarker m, J astNode) {
|
||||
@@ -138,7 +142,10 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
@Override
|
||||
public Map<IDocument, Collection<ReconcileProblem>> reconcile(IJavaProject project, List<TextDocument> docs,
|
||||
Function<TextDocument, IProblemCollector> problemCollectorFactory) {
|
||||
log.info("Validating project " + project.getElementName());
|
||||
|
||||
log.info("reconciling (OpenRewrite, multiple docs): " + project.getElementName() + " - " + docs.size());
|
||||
long start = System.currentTimeMillis();
|
||||
|
||||
Map<IDocument, Collection<ReconcileProblem>> allProblems = new HashMap<>();
|
||||
List<Path> testSourceFolders = IClasspathUtil.getProjectTestJavaSources(project.getClasspath()).map(f -> f.toPath()).collect(Collectors.toList());
|
||||
List<TextDocument> testSources = new ArrayList<>(docs.size());
|
||||
@@ -156,6 +163,10 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
allProblems.putAll(doReconcile(project, mainSources, problemCollectorFactory, javaParser));
|
||||
javaParser.setSourceSet(MavenProjectParser.TEST);
|
||||
allProblems.putAll(doReconcile(project, testSources, problemCollectorFactory, javaParser));
|
||||
|
||||
long end = System.currentTimeMillis();
|
||||
log.info("reconciling (OpenRewrite, multiple docs): " + project.getElementName() + " - " + docs.size() + " done in " + (end - start) + "ms");
|
||||
|
||||
return allProblems;
|
||||
}
|
||||
|
||||
@@ -241,7 +252,7 @@ public class RewriteReconciler implements JavaReconciler {
|
||||
|
||||
if (!descriptors.isEmpty()) {
|
||||
|
||||
for (int i = 0; i < docs.size(); i+=BATCH) {
|
||||
for (int i = 0; i < docs.size(); i += BATCH) {
|
||||
List<TextDocument> batchList = docs.subList(i, Math.min(i + BATCH, docs.size()));
|
||||
|
||||
List<CompilationUnit> cus = ORAstUtils.parseInputs(javaParser,
|
||||
|
||||
Reference in New Issue
Block a user