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/telemetry: consolidate gopls's cmd/stacks with watchflakes #69973

Open
findleyr opened this issue Oct 21, 2024 · 1 comment
Open

x/telemetry: consolidate gopls's cmd/stacks with watchflakes #69973

findleyr opened this issue Oct 21, 2024 · 1 comment
Labels
Friction Nuisances that make good candidates for our "friction" fix-it weeks NeedsFix The path to resolution is known, but the work has not been done. telemetry x/telemetry issues
Milestone

Comments

@findleyr
Copy link
Contributor

This issue is following up on a team discussion. Filing to make sure we capture context.

We've been using golang.org/x/tools/gopls/internal/telemetry/cmd/stacks to produce and de-dupe the issues filed under the gopls/telemetry-wins label.

This command parses, formats, linkifies, and de-dupes stack traces appearing in telemetry data. For "new" stacks, it pops open a window to file a github issue. Recently, @adonovan added predicate-based deduplication, similar to watchflakes.

Now we have stacks coming from more than just gopls: the compile/bug stack counter has been appearing in recent data (example).
We should generalize the stacks command. It has been suggested to merge it with watchflakes, since the two serve similar functionality.

Here are some barriers to this automation:

  1. The stacks command does git-clone and build of the various executables as that's the only way to get the correct pclntab required to map the symbol-relative line numbers into absolute CodeSearch URLs
  2. Running the command sometimes results in errors in which two issues "claim" the same stack due to overlapping rules. In this case one or both of the rules should be updated and the tool re-run.
  3. When no existing issue claims the stack, the command opens a browser tab with a populated "New issue" form. At this point the triageur is expected to see if it looks like a real new issue or a dup. If a dup, the existing issue's rule should be updated and the tool re-run. If not, then the user should submit the form to create the new issue.
  4. when creating the new issue, it's a good idea to choose a more specific title and to copy some of the surrounding code (e.g. the call to bug.Report) into the issue body. I suppose that could be done later by the triageur. Or automated with better heuristics and logic.
@findleyr findleyr added the Friction Nuisances that make good candidates for our "friction" fix-it weeks label Oct 21, 2024
@gopherbot gopherbot added the telemetry x/telemetry issues label Oct 21, 2024
@gopherbot gopherbot added this to the Unreleased milestone Oct 21, 2024
@prattmic prattmic added the NeedsFix The path to resolution is known, but the work has not been done. label Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Friction Nuisances that make good candidates for our "friction" fix-it weeks NeedsFix The path to resolution is known, but the work has not been done. telemetry x/telemetry issues
Projects
None yet
Development

No branches or pull requests

4 participants