Skip to content

Slow loading of the OpenShift explorer caused by duplicate oc commands #4289

@fbricon

Description

@fbricon

I have an openshift project on devsandbox with a of couple pods.
Screenshot 2024-07-16 at 16 02 14

Loading the explorer is fairly slow. Looking at the OpenShift output view, I captured the commands executed during a refresh request:

1:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/func" list -o json
4:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
162:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i create projectrequests
166:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i list projects
170:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" projects -q
174:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
332:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" projects -q
336:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i get csv
339:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get csv -o=json
349:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get service -o=json
526:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" projects -q
530:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i delete projects --namespace=marketplace-stats-dev
534:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
692:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
850:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
1008:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
1166:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
1324:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
1482:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" api-resources | grep openshift
1640:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i get csv
1643:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/helm" repo list -o=json
1646:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i get csv
1649:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get csv -o=json
1659:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" auth can-i get csv
1662:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get csv -o=json
1672:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get csv -o=json
1682:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get deployments -o=json
1692:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/helm" list -o=json
1695:"/Users/fbricon/Dev/projects/vscode-openshift-tools/out/tools/darwin/oc" get pods -o=json

29 commands are issued as external processes. About half of them have already been executed during the same refresh command.

I believe top-level commands should use a Context object, that will be used for caching command results, to avoid re-executing the same commands over and over again.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

✅ Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions