Summary

From gopls, we ask a select fraction of users to enable telemetry via an LSP prompt (a showMessageRequest dialog). Starting in gopls@v0.16.1, we record a gopls/telemetryprompt/accepted counter when users accept the prompt.

By collecting this counter, we can estimate the fraction of new telemetry participants that are coming from the prompt, which will help us evaluate the efficacy of the prompt itself.

Of course, we cannot know how many users decline the prompt.

Proposed Config Change

https://go.dev/cl/603936

Comment From: gabyhelp

Related Issues and Documentation

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Comment From: findleyr

It occurred to me that because we have a conservative cutoff, we won't ever upload the counter file for the day that telemetry is enabled: we only upload counter files that do not overlap with any period of time when telemetry uploading was not enabled.

Therefore, I think gopls should record at every startup whether the prompt was accepted. Theoretically, we could also record other prompt outcomes: some users may decline the prompt but enable telemetry via other means.

Putting this in the gopls@v0.16.2 milestone to address the collection issue.

Comment From: cagedmantis

cc @golang/telemetry

Comment From: gopherbot

Change https://go.dev/cl/603936 mentions this issue: internal/chartconfig: add collection for gopls/telemetryprompt/accepted

Comment From: gopherbot

Change https://go.dev/cl/607758 mentions this issue: gopls: increment the telemetryprompt acceptance counter for each session

Comment From: gopherbot

Change https://go.dev/cl/609135 mentions this issue: [gopls-release-branch.0.16] gopls: increment the telemetryprompt acceptance counter for each session