mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
[watcher]Added ability to create span in PerformanceWatcher
GitOrigin-RevId: 6e8471045d166c54eb76ce0b4ad4c528a2b29c0e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
205d72171a
commit
d458e5c2da
@@ -11,7 +11,11 @@ abstract class PerformanceWatcher {
|
||||
interface Snapshot {
|
||||
fun logResponsivenessSinceCreation(activityName: @NonNls String)
|
||||
|
||||
fun logResponsivenessSinceCreation(activityName: @NonNls String, withSpan: Boolean)
|
||||
|
||||
fun getLogResponsivenessSinceCreationMessage(activityName: @NonNls String): String?
|
||||
|
||||
fun getLogResponsivenessSinceCreationMessage(activityName: @NonNls String, withSpan: Boolean): String?
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -24,6 +24,8 @@ import com.intellij.openapi.util.io.FileUtilRt
|
||||
import com.intellij.openapi.util.io.NioFiles
|
||||
import com.intellij.openapi.util.registry.RegistryManager
|
||||
import com.intellij.openapi.util.text.StringUtilRt
|
||||
import com.intellij.platform.diagnostic.telemetry.Scope
|
||||
import com.intellij.platform.diagnostic.telemetry.TelemetryManager
|
||||
import com.intellij.util.SystemProperties
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.util.concurrency.AppScheduledExecutorService
|
||||
@@ -415,11 +417,27 @@ internal class PerformanceWatcherImpl(private val coroutineScope: CoroutineScope
|
||||
private val startMillis = System.currentTimeMillis()
|
||||
|
||||
override fun logResponsivenessSinceCreation(activityName: @NonNls String) {
|
||||
LOG.info(getLogResponsivenessSinceCreationMessage(activityName))
|
||||
logResponsivenessSinceCreation(activityName, false)
|
||||
}
|
||||
|
||||
override fun logResponsivenessSinceCreation(activityName: @NonNls String, withSpan: Boolean) {
|
||||
LOG.info(getLogResponsivenessSinceCreationMessage(activityName, withSpan))
|
||||
}
|
||||
|
||||
override fun getLogResponsivenessSinceCreationMessage(activityName: @NonNls String): String {
|
||||
return "$activityName took ${System.currentTimeMillis() - startMillis}ms; general responsiveness: ${
|
||||
return getLogResponsivenessSinceCreationMessage(activityName, false)
|
||||
}
|
||||
|
||||
override fun getLogResponsivenessSinceCreationMessage(activityName: @NonNls String, withSpan: Boolean): String {
|
||||
val currentTime = System.currentTimeMillis()
|
||||
if (withSpan) {
|
||||
TelemetryManager.getTracer(Scope("PerformanceWatcher"))
|
||||
.spanBuilder(activityName)
|
||||
.setStartTimestamp(startMillis, TimeUnit.MILLISECONDS)
|
||||
.startSpan()
|
||||
.end(currentTime, TimeUnit.MILLISECONDS)
|
||||
}
|
||||
return "$activityName took ${currentTime - startMillis}ms; general responsiveness: ${
|
||||
watcher.generalApdex.summarizePerformanceSince(startGeneralSnapshot)
|
||||
}; EDT responsiveness: ${watcher.swingApdex.summarizePerformanceSince(startSwingSnapshot)}"
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ final class SearchForUsagesRunnable implements Runnable {
|
||||
searchUsages();
|
||||
endSearchForUsages();
|
||||
|
||||
snapshot.logResponsivenessSinceCreation("Find Usages in " + myProject.getName());
|
||||
snapshot.logResponsivenessSinceCreation("Find Usages in " + myProject.getName(), true);
|
||||
}
|
||||
|
||||
private void searchUsages() {
|
||||
|
||||
Reference in New Issue
Block a user