@@ -12,9 +12,13 @@ package com.redhat.devtools.intellij.kubernetes.actions
12
12
13
13
import com.intellij.openapi.actionSystem.AnActionEvent
14
14
import com.intellij.openapi.diagnostic.logger
15
+ import com.intellij.openapi.progress.Progressive
15
16
import com.redhat.devtools.intellij.common.actions.StructureTreeAction
16
17
import com.redhat.devtools.intellij.kubernetes.editor.describe.DescriptionViewerFactory
17
18
import com.redhat.devtools.intellij.kubernetes.model.Notification
19
+ import com.redhat.devtools.intellij.kubernetes.model.util.toMessage
20
+ import com.redhat.devtools.intellij.kubernetes.telemetry.TelemetryService
21
+ import com.redhat.devtools.intellij.kubernetes.telemetry.TelemetryService.PROP_RESOURCE_KIND
18
22
import io.fabric8.kubernetes.api.model.HasMetadata
19
23
import io.fabric8.kubernetes.api.model.Pod
20
24
import javax.swing.tree.TreePath
@@ -29,15 +33,23 @@ class DescribeResourceAction: StructureTreeAction() {
29
33
val descriptor = selected?.get(0 )?.getDescriptor() ? : return
30
34
val project = descriptor.project ? : return
31
35
val toDescribe: HasMetadata = descriptor.element as ? HasMetadata ? ? : return
32
- try {
33
- DescriptionViewerFactory .instance.openEditor(toDescribe, project)
34
- } catch (e: RuntimeException ) {
35
- logger<DescribeResourceAction >().warn(" Error opening editor ${toDescribe.metadata.name} " , e)
36
- Notification ().error(
37
- " Error opening editor ${toDescribe.metadata.name} " ,
38
- " Could not open editor for ${toDescribe.kind} '${toDescribe.metadata.name} '."
39
- )
40
- }
36
+ run (" Describe ${toMessage(toDescribe, 30 )} ..." , true ,
37
+ Progressive {
38
+ val telemetry = TelemetryService .instance.action(" describe resource" )
39
+ .property(PROP_RESOURCE_KIND , toDescribe.kind)
40
+ try {
41
+ DescriptionViewerFactory .instance.openEditor(toDescribe, project)
42
+ telemetry.success().send()
43
+ } catch (e: RuntimeException ) {
44
+ logger<DescribeResourceAction >().warn(" Error opening editor ${toDescribe.metadata.name} " , e)
45
+ Notification ().error(
46
+ " Error opening editor ${toDescribe.metadata.name} " ,
47
+ " Could not open editor for ${toDescribe.kind} '${toDescribe.metadata.name} '."
48
+ )
49
+ telemetry.error(e).send()
50
+ }
51
+ }
52
+ )
41
53
}
42
54
43
55
override fun isVisible (selected : Array <out Any >? ): Boolean {
0 commit comments