-
Notifications
You must be signed in to change notification settings - Fork 19.1k
x/tools/gopls: collect bug stack counter #62249
Copy link
Copy link
Closed
Labels
FrozenDueToAgeTelemetry-AcceptedToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.Issues related to the Go language server, gopls.
Milestone
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeTelemetry-AcceptedToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.Issues related to the Go language server, gopls.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Done
Why?
For rare situations where our assumption doesn't hold and gopls cannot proceed normally,
gopls calls this api. This stack counter counts how frequently this situation happens
and what assumption (code location) was violated. This information allows us to discover
and address the bugs.
Alternatives are either 1) crashing or 2) asking users to report when they notice it.
Neither is ideal or scalable.
Does it carry sensitive user information?
No.
This includes only the gopls's stack trace which doesn't include user information.
How?
https://github.com/golang/tools/blob/master/gopls/internal/bug/bug.go#L69
https://github.com/golang/tools/blob/0a044c0b5b3c2becb2e8ef5d92acca07f6ab8b60/gopls/internal/bug/bug.go#L105-L107
note: The default is 'local' which does not send any data to the telemetry server. Users must opt-in explicitly.