Skip to content
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

x/tools/gopls: add a debug endpoint to download diagnostic information #45602

Open
findleyr opened this issue Apr 16, 2021 · 0 comments
Open

x/tools/gopls: add a debug endpoint to download diagnostic information #45602

findleyr opened this issue Apr 16, 2021 · 0 comments

Comments

@findleyr
Copy link
Contributor

@findleyr findleyr commented Apr 16, 2021

A few patterns have emerged related to troubleshooting gopls issues:

  • Someone files a gopls issue, and our first response is to ask them to attach logs. More than half the time (I'd guess), we don't get a follow up response from the person filing the issue.
  • Someone encounters a bug, but can't repro in a fresh session and it's too late to capture logs in their current session.
  • Someone has memory problems, and they have to grab a heap dump / profile. Again, this is a burden on users that often leads to disengagement.

With #45518, we'll be able to dynamically start the gopls debug server. This means that users should always be able to access a user interface into internals of the running gopls process. We should leverage this to make it easier to collect diagnostic information.

This is the idea we've discussed:

  1. add a new endpoint to the debug server that provides a form allowing the user to select different types of diagnostic information (off the top of my head: RPC logs, heap dump, profile, execution traces), and specify a collection period.
  2. when this form is submitted, start collecting this information for the specified period.
  3. after collection completes, redirect the user to download a zipped payload that they can send to us.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants