Skip to content

x/telemetry/config: enable data collection for crash/* counters, for gopls #65696

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

Closed
adonovan opened this issue Feb 13, 2024 · 4 comments
Closed
Assignees
Labels
FrozenDueToAge telemetry x/telemetry issues Telemetry-Accepted Telemetry-Proposal Issues proposing new telemetry counters.
Milestone

Comments

@adonovan
Copy link
Member

adonovan commented Feb 13, 2024

Counter names

crash/crash
crash/malformed
crash/no-running-goroutine

Description

crash/crash - compressed stack traces of running goroutines from unexpected crashes
crash/malformed - counter of failures to parse the stack trace
crash/no-running-goroutine - counter of stack traces that have no goroutine in "running" state (e.g. deadlock, lossy parse)

Rationale

The crash/crash stack counters are how we detect unexpected crashes (for any reason) in gopls, and any other Go-project tool that uses x/telemetry/crashmonitor. This helps us diagnose and fix bugs speedily, and assess their severity.

Do the counters carry sensitive user information?

No. In particular, the compressed stacks are generated by joining a list of program counters with the executable's symbol table, so there is no possibility of application data values being incorporated.

How?

https://pkg.go.dev/golang.org/x/telemetry/crashmonitor

Proposed Graph Config

(https://go.corp.google.com/go-telemetry-configuration)

counter: crash/crash
title: Unexpected Go crashes
description: stacks of goroutines running when the Go program crashed
type: stack
program: golang.org/x/tools/gopls
depth: 16
version: v0.15.0

counter: crash/malformed
title: Failure to parse runtime crash output
description: count of runtime crash messages that failed to parse
type: histogram
program: golang.org/x/tools/gopls
version: v0.15.0

counter: crash/no-running-goroutine
title: Failure to identify any running goroutine in the crash output
description: count of runtime crash messages that don't have a running goroutine (e.g. deadlock)
type: histogram
program: golang.org/x/tools/gopls
version: v0.15.0

New or Update

New

@adonovan adonovan added the Telemetry-Proposal Issues proposing new telemetry counters. label Feb 13, 2024
@gopherbot gopherbot added the telemetry x/telemetry issues label Feb 13, 2024
@gopherbot gopherbot added this to the Unreleased milestone Feb 13, 2024
@adonovan adonovan changed the title x/telemetry/config: proposal title x/telemetry/config: enable data collection for crash/* counters Feb 13, 2024
@adonovan adonovan moved this to Todo in Telemetry Proposals Feb 13, 2024
@adonovan adonovan added the gopls Issues related to the Go language server, gopls. label Feb 13, 2024
@findleyr findleyr removed the gopls Issues related to the Go language server, gopls. label Feb 13, 2024
@thanm thanm added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Feb 14, 2024
@findleyr findleyr changed the title x/telemetry/config: enable data collection for crash/* counters x/telemetry/config: enable data collection for crash/* counters, for gopls Feb 14, 2024
@findleyr
Copy link
Member

@adonovan can you please include graph configs for all three counters listed in the first section?

@adonovan
Copy link
Member Author

Done.

@findleyr
Copy link
Member

Thanks. Accepted in our meeting this afternoon. I think the type field needs to be histogram, but that is superficial.

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/564619 mentions this issue: config: add crash counters

@hyangah hyangah removed the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Feb 22, 2024
@golang golang locked and limited conversation to collaborators Apr 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge telemetry x/telemetry issues Telemetry-Accepted Telemetry-Proposal Issues proposing new telemetry counters.
Projects
Development

No branches or pull requests

5 participants