tree e37d24ef4dd162f0dbae9a03b76645747f6cb69c
parent 7891473c0188eacbae86ac0ddd94af6f8c407534
author Alan Donovan <adonovan@google.com> 1726256321 -0400
committer Alan Donovan <adonovan@google.com> 1726500238 +0000

gopls/internal/telemetry/cmd/stacks: predicate de-duplication

This CL introduces an expression language for matching
stacks, inspired by watchflakes.  Each issue has a block
at the start of its body of this form:

    ```
    #!stacks
    "bug.Reportf" && "golang.Hover:+19"
    ```

where the expression is a sentence of this grammar:

   expr = "string literal"
        | ( expr )
        | expr && expr
        | expr || expr
        | ! expr

A string literal implies a substring match against
a stack trace; the other forms are boolean operations.
The stacks command reads all such predicates at start,
and uses them to associate new stacks with existing
issues. (It reports an error if a stack is claimed by
two issues.) For each claim, it updates the issue
by adding a comment describing all the new stacks
(example: https://github.com/golang/go/issues/60890#issuecomment-2350023305)
and it adds/updates the "Dups: " list on the last
line of the issue body (first comment).

This should greatly reduce the amount of toil in
associating stacks with issues, since we can just
tweak the predicates to accommodate minor variations.

The GitHub auth token now needs R/W access to golang/go issues.

Fixes golang/go#65963

Change-Id: I836cd89bba456826839a389271ac38745e493a54
Reviewed-on: https://go-review.googlesource.com/c/tools/+/613215
Reviewed-by: Robert Findley <rfindley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
