Skip to content

Commit 2ed7536

Browse files
committed
reduce engine status calls
1 parent 86c4151 commit 2ed7536

File tree

5 files changed

+23
-21
lines changed

5 files changed

+23
-21
lines changed

ide-common/src/main/kotlin/org/digma/intellij/plugin/docker/DigmaInstallationDiscovery.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.intellij.execution.process.ProcessOutput
66
import com.intellij.execution.util.ExecUtil
77
import com.intellij.openapi.diagnostic.Logger
88
import com.intellij.openapi.project.Project
9+
import org.apache.commons.lang3.time.StopWatch
910
import org.digma.intellij.plugin.analytics.BackendConnectionMonitor
1011
import org.digma.intellij.plugin.common.readTree
1112
import org.digma.intellij.plugin.errorreporting.ErrorReporter
@@ -24,9 +25,17 @@ internal fun discoverActualRunningEngine(project: Project): DigmaInstallationSta
2425
//this method should be called only if we know that local engine is not installed
2526
internal fun discoverActualRunningEngine(hasConnection: Boolean): DigmaInstallationStatus {
2627

28+
var stopWatch = StopWatch.createStarted()
2729
val isLocalEngineRunning = isLocalEngineRunning()
30+
Log.log(logger::trace,"isLocalEngineRunning took {}",stopWatch.time)
31+
32+
stopWatch = StopWatch.createStarted()
2833
val isAnyEngineRunning = isAnyEngineRunning()
34+
Log.log(logger::trace,"isAnyEngineRunning took {}",stopWatch.time)
35+
36+
stopWatch = StopWatch.createStarted()
2937
val isExtensionRunning = isExtensionRunning()
38+
Log.log(logger::trace,"isExtensionRunning took {}",stopWatch.time)
3039

3140
val connectionType: ConnectionType? = if (hasConnection) {
3241
if (SettingsUtils.isSettingsPointsToRemoteIp()) {

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseMessageRouterHandler.kt

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -361,21 +361,15 @@ abstract class BaseMessageRouterHandler(protected val project: Project) : Common
361361

362362

363363
protected fun doCommonInitialize(browser: CefBrowser) {
364-
try {
365-
Log.log(logger::trace, project, "sending {} message", JCEFGlobalConstants.GLOBAL_SET_BACKEND_INFO)
366-
sendBackendAboutInfo(browser, project)
367-
} catch (e: Exception) {
368-
Log.debugWithException(logger, project, e, "error calling about")
369-
}
370364

371-
val insightsStats = AnalyticsService.getInstance(project).getInsightsStats(null, null, null)
365+
Log.log(logger::trace, project, "sending {} message", JCEFGlobalConstants.GLOBAL_SET_BACKEND_INFO)
366+
sendBackendAboutInfo(browser, project)
372367

373-
updateDigmaEngineStatus(project, browser)
368+
sendUserInfoMessage(browser, DigmaDefaultAccountHolder.getInstance().account?.userId, project)
374369

375370
sendEnvironmentsList(browser, getAllEnvironments(project))
376371

377-
sendUserInfoMessage(browser, DigmaDefaultAccountHolder.getInstance().account?.userId, project)
378-
372+
val insightsStats = AnalyticsService.getInstance(project).getInsightsStats(null, null, null)
379373
sendScopeChangedMessage(
380374
browser,
381375
null,

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCefComponent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ private constructor(
9999
//ApiClientChangedEvent is certain to be fired after the api client was changed and surely must set the correct info to the UI.
100100
Backgroundable.executeOnPooledThread {
101101
try {
102+
sendBackendAboutInfo(jbCefBrowser.cefBrowser, project)
102103
sendUserInfoMessage(jbCefBrowser.cefBrowser, DigmaDefaultAccountHolder.getInstance().account?.userId, project)
103104
updateDigmaEngineStatus(project, jbCefBrowser.cefBrowser)
104-
sendBackendAboutInfo(jbCefBrowser.cefBrowser, project)
105105
} catch (e: Throwable) {
106106
Log.warnWithException(logger, project, e, "error in ApiClientChangedEvent")
107107
ErrorReporter.getInstance().reportError(project, "JCefComponent.apiClientChanged", e)
@@ -176,9 +176,9 @@ private constructor(
176176
connectionEventAlarm.cancelAllRequests()
177177
connectionEventAlarm.addRequest({
178178
try {
179+
sendBackendAboutInfo(jbCefBrowser.cefBrowser, project)
179180
val status = service<LocalInstallationFacade>().getCurrentDigmaInstallationStatusOnConnectionGained()
180181
updateDigmaEngineStatus(jbCefBrowser.cefBrowser, status)
181-
sendBackendAboutInfo(jbCefBrowser.cefBrowser, project)
182182
} catch (e: Exception) {
183183
Log.warnWithException(logger, project, e, "error in connectionGained")
184184
ErrorReporter.getInstance().reportError(project, "JCefComponent.connectionGained", e)

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCefMessagesUtils.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ import com.intellij.openapi.components.service
55
import com.intellij.openapi.project.Project
66
import com.intellij.ui.jcef.JBCefBrowser
77
import org.cef.browser.CefBrowser
8-
import org.digma.intellij.plugin.analytics.AnalyticsService
8+
import org.digma.intellij.plugin.analytics.BackendInfoHolder
99
import org.digma.intellij.plugin.docker.DigmaInstallationStatus
1010
import org.digma.intellij.plugin.docker.LocalInstallationFacade
1111
import org.digma.intellij.plugin.errorreporting.ErrorReporter
12+
import org.digma.intellij.plugin.model.rest.AboutResult
1213
import org.digma.intellij.plugin.model.rest.environment.Env
1314
import org.digma.intellij.plugin.model.rest.insights.SpanEnvironment
1415
import org.digma.intellij.plugin.model.rest.navigation.CodeLocation
16+
import org.digma.intellij.plugin.model.rest.version.BackendDeploymentType
1517
import org.digma.intellij.plugin.scope.ScopeContext
1618
import org.digma.intellij.plugin.scope.SpanScope
1719
import org.digma.intellij.plugin.ui.common.isJaegerButtonEnabled
@@ -120,7 +122,7 @@ fun updateDigmaEngineStatus(cefBrowser: CefBrowser, status: DigmaInstallationSta
120122
}
121123

122124
fun sendBackendAboutInfo(cefBrowser: CefBrowser, project: Project) {
123-
val about = AnalyticsService.getInstance(project).about
125+
val about = BackendInfoHolder.getInstance(project).getAbout() ?: AboutResult("unknown", BackendDeploymentType.Unknown, false, null)
124126
val message = BackendInfoMessage(about)
125127
serializeAndExecuteWindowPostMessageJavaScript(cefBrowser, message, project)
126128
}

src/main/kotlin/org/digma/intellij/plugin/ui/mainapp/MainAppMessageRouterHandler.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ import com.fasterxml.jackson.databind.JsonNode
44
import com.intellij.openapi.components.service
55
import com.intellij.openapi.project.Project
66
import org.cef.browser.CefBrowser
7-
import org.digma.intellij.plugin.analytics.AnalyticsServiceException
8-
import org.digma.intellij.plugin.log.Log
97
import org.digma.intellij.plugin.protocol.DigmaProtocolApi
108
import org.digma.intellij.plugin.ui.assets.AssetsMessageRouterHandler
119
import org.digma.intellij.plugin.ui.errors.ErrorsMessageRouterHandler
1210
import org.digma.intellij.plugin.ui.highlights.HighlightsMessageRouterHandler
1311
import org.digma.intellij.plugin.ui.insights.InsightsMessageRouterHandler
1412
import org.digma.intellij.plugin.ui.jcef.BaseMessageRouterHandler
13+
import org.digma.intellij.plugin.ui.jcef.updateDigmaEngineStatus
1514
import org.digma.intellij.plugin.ui.navigation.NavigationMessageRouterHandler
1615
import org.digma.intellij.plugin.ui.tests.TestsMessageRouterHandler
1716

@@ -63,11 +62,9 @@ class MainAppMessageRouterHandler(project: Project) : BaseMessageRouterHandler(p
6362

6463

6564
private fun onInitialize(browser: CefBrowser) {
66-
try {
67-
doCommonInitialize(browser)
68-
} catch (e: AnalyticsServiceException) {
69-
Log.warnWithException(logger, e, "error getting backend info")
70-
}
65+
doCommonInitialize(browser)
66+
updateDigmaEngineStatus(project, browser)
67+
7168
project.service<DigmaProtocolApi>().setMainAppInitialized()
7269
}
7370

0 commit comments

Comments
 (0)