v0.24 of CLI is significantly less responsive than v0.23.1
Versions and Operating System
-
Kubernetes version:
Output of
kubectl version:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:49:13Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-19T15:39:43Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"linux/amd64"}
- Tekton Pipeline version:
**Output of `tkn version` or `kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'`**
➜ tekton time tkn version Client version: 0.24.0 Pipeline version: v0.37.0 tkn version 0.49s user 1.09s system 22% cpu 7.155 total ➜ tekton time ./tkn version Client version: 0.23.1 Pipeline version: v0.37.0 ./tkn version 0.15s user 0.14s system 12% cpu 2.337 total
- Operating System:
Ubuntu 20.04 running in WSL2
# Expected Behavior
The very latest v0.24 tkn cli is much less responsive than the previous versions; to the point that you think the command isn't working properly. From the users perspective the cli response is twice as long as before.
# Actual Behavior
Here are the results of timing some of the commands, first the `tkn version`
➜ tekton time tkn version Client version: 0.24.0 Pipeline version: v0.37.0 tkn version 0.49s user 1.09s system 22% cpu 7.155 total ➜ tekton time ./tkn version Client version: 0.23.1 Pipeline version: v0.37.0 ./tkn version 0.15s user 0.14s system 12% cpu 2.337 total
I then ran a simple tekton task, and then showed the log files. This task was a simple Ansible playbook to display a message. The cluster is KIND and there is no other workload running and it is freshly created.
➜ tekton time tkn taskrun logs build-network-task-run-bgjzl -f -n default [build] [WARNING]: No inventory was parsed, only implicit localhost is available [build] [WARNING]: provided hosts list is empty, only localhost is available. Note that [build] the implicit localhost does not match 'all' [build] [build] PLAY [Create components for an ordering organization] ************************** [build] [build] TASK [Gathering Facts] ********************************************************* [build] ok: [localhost] [build] [build] TASK [step1] ******************************************************************* [build] ok: [localhost] => { [build] "msg": "present" [build] } [build] [build] PLAY RECAP ********************************************************************* [build] localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [build]
tkn taskrun logs build-network-task-run-bgjzl -f -n default 0.49s user 0.92s system 29% cpu 4.748 total ➜ tekton time ./tkn taskrun logs build-network-task-run-bgjzl -f -n default [build] [WARNING]: No inventory was parsed, only implicit localhost is available [build] [WARNING]: provided hosts list is empty, only localhost is available. Note that [build] the implicit localhost does not match 'all' [build] [build] PLAY [Create components for an ordering organization] ************************** [build] [build] TASK [Gathering Facts] ********************************************************* [build] ok: [localhost] [build] [build] TASK [step1] ******************************************************************* [build] ok: [localhost] => { [build] "msg": "present" [build] } [build] [build] PLAY RECAP ********************************************************************* [build] localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [build]
./tkn taskrun logs build-network-task-run-bgjzl -f -n default 0.21s user 0.07s system 170% cpu 0.159 total
@vinamra28 Can you please try it once? I was not able to reproduce
@piyush-garg even I am also not able to reproduce this 😅
vinamra.jain•tekton/cli(main)» go build -mod=vendor ./cmd/tkn [16:43:24]
vinamra.jain•tekton/cli(main)» time ./tkn version [16:43:55]
Client version: dev
Pipeline version: v0.36.0
./tkn version 0.05s user 0.07s system 2% cpu 4.082 total
vinamra.jain•tekton/cli(main)» gco release-v0.23.1 [16:44:10]
Updating files: 100% (5770/5770), done.
Branch 'release-v0.23.1' set up to track remote branch 'release-v0.23.1' from 'upstream'.
Switched to a new branch 'release-v0.23.1'
vinamra.jain•tekton/cli(release-v0.23.1)» go build -mod=vendor ./cmd/tkn [16:44:28]
vinamra.jain•tekton/cli(release-v0.23.1)» time ./tkn version [16:45:24]
Client version: dev
Pipeline version: v0.36.0
./tkn version 0.04s user 0.06s system 2% cpu 4.087 total
Tried version and logs command with v0.23.1 and v0.24.0 not able to reproduce the issue. Please feel free to add more detail if the issue persists for you.
thanks @pradeepitm12 @vinamra28 @piyush-garg sorry for the delay on my side...
I've tried this again, and can completely reproduce it. My Steps where to wget https://github.com/tektoncd/cli/releases/download/v0.24.0/tkn_0.24.0_Linux_x86_64.tar.gz and then extract the tkn binary.
This is on WSL2 with Ubuntu so it's not impossible that is part of the problem. I'll check the releases notes between the two versions.
Also I rebuilt it from the main branch now. It's faster than the downloaded binary but not what you'd call responsive.
time ./tkn version
Client version: dev
Pipeline version: v0.37.2
./tkn version 0.22s user 1.17s system 19% cpu 7.037 total
I've attached the perf log from running tkn version (zipped)
perf.zip
@mbwhite do you see any improvement with v0.26.0?
closing this as no response now.