5
5
package io.gitpod.jetbrains.remote
6
6
7
7
import com.jetbrains.ide.model.uiautomation.BeControl
8
- import com.jetbrains.ide.model.uiautomation.BeMargin
9
8
import com.jetbrains.ide.model.uiautomation.DefiniteProgress
10
9
import com.jetbrains.rd.platform.codeWithMe.unattendedHost.metrics.Metric
11
10
import com.jetbrains.rd.ui.bedsl.dsl.*
12
- import com.jetbrains.rd.ui.bedsl.dsl.util.BeMarginsBuilder
13
11
import com.jetbrains.rd.util.lifetime.Lifetime
14
12
import com.jetbrains.rd.util.reactive.Property
15
- import com.jetbrains.rdserver.diagnostics.BackendDiagnosticsService
16
13
import com.jetbrains.rdserver.unattendedHost.customization.controlCenter.performance.MetricControlProvider
17
14
import com.jetbrains.rdserver.unattendedHost.customization.controlCenter.performance.createProgressBar
18
15
16
+ interface IBackendDiagnosticsService {
17
+ fun getMetric (name : String ): com.jetbrains.rd.platform.codeWithMe.unattendedHost.metrics.Metric
18
+ }
19
+
19
20
abstract class AbstractGitpodMetricControlProvider : MetricControlProvider {
20
21
override val id: String = " gitpodMetricsControl"
21
22
22
23
abstract fun setMargin (element : BeControl , left : Int , top : Int , right : Int , bottom : Int ): BeControl ;
23
24
25
+ abstract fun getBackendDiagnosticsService (): IBackendDiagnosticsService
26
+
24
27
override fun getControl (lifetime : Lifetime ): BeControl {
25
- val backendDiagnosticsService = BackendDiagnosticsService . Companion .getInstance ()
28
+ val backendDiagnosticsService = this .getBackendDiagnosticsService ()
26
29
return verticalGrid {
27
30
row {
28
31
horizontalGrid {
@@ -49,7 +52,7 @@ abstract class AbstractGitpodMetricControlProvider : MetricControlProvider {
49
52
}
50
53
}
51
54
52
- private fun createWorkspaceHeaderRow (ctx : VerticalGridBuilder , backendDiagnosticsService : BackendDiagnosticsService , lifetime : Lifetime ) {
55
+ private fun createWorkspaceHeaderRow (ctx : VerticalGridBuilder , backendDiagnosticsService : IBackendDiagnosticsService , lifetime : Lifetime ) {
53
56
val labelProperty = Property (" " )
54
57
55
58
val workspaceClassMetric = backendDiagnosticsService.getMetric(" gitpod_workspace_class" )
@@ -78,7 +81,7 @@ abstract class AbstractGitpodMetricControlProvider : MetricControlProvider {
78
81
}
79
82
}
80
83
81
- private fun createCpuControl (ctx : VerticalGridBuilder , backendDiagnosticsService : BackendDiagnosticsService , lifetime : Lifetime ) {
84
+ private fun createCpuControl (ctx : VerticalGridBuilder , backendDiagnosticsService : IBackendDiagnosticsService , lifetime : Lifetime ) {
82
85
val cpuUsed = backendDiagnosticsService.getMetric(" gitpod_workspace_cpu_used" )
83
86
val cpuTotal = backendDiagnosticsService.getMetric(" gitpod_workspace_cpu_total" )
84
87
val cpuPercentage = backendDiagnosticsService.getMetric(" gitpod_workspace_cpu_percentage" )
@@ -100,7 +103,7 @@ abstract class AbstractGitpodMetricControlProvider : MetricControlProvider {
100
103
createProgressControl(ctx, lifetime, label, cpuPercentage, labelProperty, cpuPercentageProperty, progressBar)
101
104
}
102
105
103
- private fun createMemoryControl (ctx : VerticalGridBuilder , backendDiagnosticsService : BackendDiagnosticsService , lifetime : Lifetime ) {
106
+ private fun createMemoryControl (ctx : VerticalGridBuilder , backendDiagnosticsService : IBackendDiagnosticsService , lifetime : Lifetime ) {
104
107
val memoryUsed = backendDiagnosticsService.getMetric(" gitpod_workspace_memory_used" )
105
108
val memoryTotal = backendDiagnosticsService.getMetric(" gitpod_workspace_memory_total" )
106
109
val memoryPercentage = backendDiagnosticsService.getMetric(" gitpod_workspace_memory_percentage" )
0 commit comments