[maven] add FUS events for MavenImporter usage and duration (fix module counting)

GitOrigin-RevId: 0db12ef3afd0a794880bc3f0981b0103270f629f
This commit is contained in:
Anton Makeev
2022-07-20 15:56:05 +00:00
committed by intellij-monorepo-bot
parent a1247d0869
commit 58442df531
@@ -157,7 +157,7 @@ public final class MavenLegacyModuleImporter {
}
if (importer.getModuleType() == moduleType) {
measureImporterTime(importer, counters, () -> {
measureImporterTime(importer, counters, true, () -> {
importer.preProcess(myModule, myMavenProject, changes, myProviderForExtensions);
});
}
@@ -188,7 +188,7 @@ public final class MavenLegacyModuleImporter {
if (importer.getModuleType() == moduleType) {
try {
measureImporterTime(importer, counters, () -> {
measureImporterTime(importer, counters, false, () -> {
importer.process(myProviderForExtensions,
myModule,
myRootModelAdapter,
@@ -226,7 +226,7 @@ public final class MavenLegacyModuleImporter {
}
if (importer.getModuleType() == moduleType) {
measureImporterTime(importer, counters, () -> {
measureImporterTime(importer, counters, false, () -> {
importer.postProcess(myModule, myMavenProject, changes, myProviderForExtensions);
});
}
@@ -238,14 +238,17 @@ public final class MavenLegacyModuleImporter {
});
}
private static void measureImporterTime(MavenImporter importer, Map<Class<? extends MavenImporter>, CountAndTime> counters, Runnable r) {
private static void measureImporterTime(MavenImporter importer,
Map<Class<? extends MavenImporter>, CountAndTime> counters,
boolean increaseModuleCounter,
Runnable r) {
long before = System.nanoTime();
try {
r.run();
}
finally {
CountAndTime countAndTime = counters.computeIfAbsent(importer.getClass(), __ -> new CountAndTime());
countAndTime.count++;
if (increaseModuleCounter) countAndTime.count++;
countAndTime.time += TimeoutUtil.getDurationMillis(before);
}
}