-
Notifications
You must be signed in to change notification settings - Fork 527
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slow impacts on Containers view since version 1.23.0 #3779
Comments
@stormwind85 to help try to reproduce the slowdowns you're seeing, can you provide some additional details on the environment you're running Docker in? Are you running on Linux, MacOS, or Windows? |
I have the same issue. In my case it takes more than 30 secs or maybe minutes to refresh the container list. Docker engine is running on Ubuntu 16.04.7 LTS. |
I'm running on Ubuntu 22.04.
And yes my docker engine is running with default configuration, I never changed docker default settings. I also tried on my windows 11 (same VS Code version and latest version of docker extension) but there is no problem. I also have only 2 containers on my Windows so it's not the same deal. |
I'm also experiencing this issue on Fedora 37: Operating System: Fedora Linux 37 (Workstation Edition) |
Thanks for providing system details; this will help us in prioritizing the system configurations we start investigating the reported performance bottlenecks against. |
Same problem here. Thanks for investigating. Linux fedora 6.0.12-1.surface.fc37.x86_64 Upgraded to Fedora 37 last week, problem existed already before that, when I was still on Fedora 36. |
I have thee same problem on Manjaro. Kernel: 5.17.9-1-MANJARO x86_64 |
Update: this also happens in github codespaces with the docker extension |
This is still occurring for me. Latest Fedora 37 packages. I do have about 10-15 different containers, albeit only 1 or 2 running simultaneously. Speculation, but perhaps number of 'installed' containers is a factor? |
Hi, I figured out the reason why the container listing is loading slowly. The problem is in the speed of finding the container size. On the environments I have tested, the command The problem is that Proposal for a solution:It is necessary to extract the Size value from the container listing example. I don't know if container size is used anywhere in the listing. I found a constant I tested:export const withDockerContainerJsonFormatArg = withNamedArg('--format', `{"Command":{{json .Command}},"CreatedAt":{{json .CreatedAt}},"ID":{{json .ID}},"Image":{{json .Image}},"Labels":{{json .Labels}},"LocalVolumes":{{json .LocalVolumes}},"Mounts":{{json .Mounts}},"Names":{{json .Names}},"Networks":{{json .Networks}},"Ports":{{json .Ports}},"RunningFor":{{json .RunningFor}},"Size":"undetected","State":{{json .State}},"Status":{{json .Status}}}`);
And in the I'm testing it right now and so far no signs of any issue. |
@nemec32039 Does it look like its a problem with the VScode extension, or docker on Linux? |
@chrisjimallen This is not problem with VScode extenstion but neither docker. The VScode extension needs optimization for loading data for container listing. I think the extension is loading more data than it needs to. Slow loading causes waiting to find out the size of containers. This information is not needed for container listing. |
But it's definitely related to a change done between 1.22.x and 1.23.0 because I don't have the problem with 1.22.x versions |
Omitting fields from command for containers data. They are not needed. |
@nemec32039 we originally did do more targeted format arguments in our initial implementations of the new Docker client logic that shipped in 1.23.0, but had to revert to using '{{json .}}' in this PR. Unfortunately, if a property that doesn't exist on a given item is ever requested as part of the format string, it results in an error from the Docker CLI. This is particularly an issue when dealing with supporting older Docker releases. Additionally, we've run into issues where (for at least some Docker configurations), required properties are included in the default '{{json .}}' format response that aren't actually available to request as individual properties. Effectively, this means we have to depend on --format '{{json .}}' to avoid breaking the extension entirely for some users. We'll bring up the docker/for-linux#1179 issue with any contacts we have at Docker, Inc. to try to get a fix for the underlying issue prioritized as it's obviously causing a significant performance impact. |
A |
@bwateratmsft as of right now, would you recommend just rolling back to an older version (1.22.x) for those who are suffering this issue? I was wondering what kind of ETA we are looking at for a resolution? |
We plan to ship an update (1.25.0) containing this fix sometime in the next few weeks, but it also requires upgrading Docker to a version containing the fix for docker/for-linux#1179. They have merged in a fix but I'm not sure how long until it reaches GA, they would have to answer that. Since switching extension versions in VSCode is painless, I'd say yes, roll back to 1.22.x for now; you can catch back up at any time. |
Hello ! |
This has now been released in Docker extension version 1.25.0. However, keep in mind that this will only work if Docker releases their fix as well. docker/cli#4107 (comment) |
Well, I just want to give a little feedback and it works as fast as it did on version 1.22.2 (latest version before this issue). |
That's great! Glad to hear it's working better now. |
I notice some slows on containers view or images view since the new version 1.23.0
I downgraded to 1.22.2 to compare performance and the result is unmistakable !
If I refresh containers view with version 1.22.2, it takes ~ 0.5 sec to refresh containers.
With version 1.23.0, it takes more than 5 sec.
So why ?
Here is my docker version :
I'm also working with a lot of containers, ~ 30 stopped containers in the list and ~ 5 up
The text was updated successfully, but these errors were encountered: