graphql / vscode-graphql

MIGRATED: VSCode GraphQL extension (autocompletion, go-to definition, syntax highlighting)
https://marketplace.visualstudio.com/items?itemName=Prisma.vscode-graphql
MIT License
557 stars 71 forks source link

Extension causes high cpu load #212

Closed Alrefai closed 4 years ago

Alrefai commented 4 years ago

:warning: Make sure to attach this file from your home-directory: :warning:/Users/mohammed/Prisma.vscode-graphql-unresponsive.cpuprofile.txt

Find more details here: https://github.com/microsoft Prisma.vscode-graphql-unresponsive.cpuprofile.txt /vscode/wiki/Explain-extension-causes-high-cpu-load

ryardley commented 4 years ago

Not sure if this related but I was finding that prisma would restart the typescript language server all the time which was causing so many problems I had to disable the plugin.

acao commented 4 years ago

@ryardley you may be running a different version, as 0.3.1 does not use the typescript language server, nor does it have any prisma related features anymore

acao commented 4 years ago

@Alrefai can you make the cpuprofile.txt file available so i can have more information?

most users are reporting that there are vast performance improvements for 0.3.1.

can you provide your graphql config as well?

Alrefai commented 4 years ago

@ryardley I did not notice that behavior! However, thanks for your suggestion. I disabled the plugin temporary.

@acao I was not working on a graphql project when that issue occurred!

Here is the cpuprofile.txt file: https://github.com/prisma-labs/vscode-graphql/files/5179142/Prisma.vscode-graphql-unresponsive.cpuprofile.txt

acao commented 4 years ago

@alrefai oh, that is very helpful to know! it could be that I introduced an issue for when the graphql schema is not present. If the project doesn't contain graphql config or graphql files, the extension does not load for me at all, so I will need some more information. can you should be the output tab logs for GraphQL Language Service?

Alrefai commented 4 years ago

@acao Will you please explain how I can do that? I did not find any option related to graphql in output tab!

acao commented 4 years ago

@Alrefai interesting, that means that the extension client never initializes. afaik, this means the graphql vscode extension doesn't have the appropriate context to load, but I could be mistaken. I will have to find a tool for grokking this cpu profile, and get in touch with folks at vscode to better understand this issue, as I'm not able to duplicate this issue

  "activationEvents": [
    "onCommand:extension.isDebugging",
    "onCommand:extension.contentProvider",
    "onLanguage:graphql",
    "workspaceContains:**/.graphqlrc",
    "workspaceContains:**/.graphqlrc.{json,yaml,yml,js}",
    "workspaceContains:**/graphql.config.{json,yaml,yml,js}"
  ],

do any of these qualify for the context where you are getting this error? if not, the extension and thus the LSP server are never initialized

Alrefai commented 4 years ago

@acao No, they are not in Log (Extension Host) in output tab of the same project. Keep in mind that I rebooted my macOS after that event and I cannot reproduce this issue.

acao commented 4 years ago

interesting. perhaps this has to do with handling process SIGINT/SIGTERM then, where the server does not exit properly when switching to a non-graphql project

acao commented 4 years ago

@Alrefai i still cannot reproduce this :/ 🤔 @ryardley your issue seems to be with an old version of the extension.

please reopen or new tickets if you still have problems!