ryanluker / vscode-coverage-gutters

Display test coverage generated by lcov and xml - works with many languages
https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters
MIT License
460 stars 88 forks source link

Using multi root workspace yields 100% cpu usage #104

Closed stoffeastrom closed 6 years ago

stoffeastrom commented 6 years ago

When using a multi root workspace I get the picker to choose from 3 lcov files. After choosing one of them the cpu goes crazy and I have to force quit the process which in turns terminates the extension host

ryanluker commented 6 years ago

@stoffeastrom thanks for the new issue. I was not able to reproduce the 100% cpu on my windows 10 machine with the example node folder and example python folder open in multi root. Can you give me more information about OS, vscode version, etc? I will check out this issue on my ubuntu laptop later today to see if it is unix bug.

stoffeastrom commented 6 years ago

screen shot 2017-11-13 at 22 21 02

screen shot 2017-11-13 at 22 21 48

Let me know if you need more :)

stoffeastrom commented 6 years ago

multi-root-coverage-gutters-issue-mac

ryanluker commented 6 years ago

@stoffeastrom thanks for all the extra info! the split pane might be the culprit... what happens if you do watch/display with one pane? Either way this gives me more then enough info to do some tinker on my ubuntu vscode. Worst case is that you might need to wait until i do the performance improvements in #106 for that CPU load to go down.

stoffeastrom commented 6 years ago

@ryanluker It doesn't matter if I watch/display with one pane. Same thing the cpu gets choked.

ldrick commented 6 years ago

Hi @ryanluker ,

I can prove the 100% load on one core looking at htop on Ubuntu 17.10. Furthermore, on my machine closing vscode normaly doesn't stop the load. I have to force quit vscode in htop. Working with the exact same directory standalone (not in multi root workspace mode) everything is fine. I am running vscode 1.19.1 and there is overall only one lcov file.

I'd love to give you every information you could need. Thank you

ryanluker commented 6 years ago

@ldrick thanks for the further info. Leaning towards trying to find a temporary fix for this one and get it into the 1.3.1 release but the real solution will come from fixing up the underlying structure outlined in #106 . I will message you if I cannot get the example project, in this repo, to be pined to 100% cpu on my ubuntu 17.10 install.

ryanluker commented 6 years ago

@stoffeastrom @ldrick Sorry for the long turn around on this one, I have narrowed down the issue and plan to get a fix out with 1.3.1. In the meantime you can set "coverage-gutters.altSfCompare": false (make sure to restart vscode after) to get around the current bug with my extension and vscode workspace api. If you are curious about the bug you can find the offending code here https://github.com/ryanluker/vscode-coverage-gutters/blob/master/src/indicators.ts#L153-L164

ryanluker commented 6 years ago

@stoffeastrom @ldrick Got this one figured out :smile: you can find the failing test here 386cc73 and the eventual fix here aa09de2

ldrick commented 6 years ago

Many thanks @ryanluker, I installed 1.3.1, tested and my CPU seems happy again. :grin: