[internal-branch.go1.23-vendor] telemetry: do not crash parent if child could not be started

Instead of calling log.Fatal if the child could not be started, call
log.Print. Various factors in the user's environment could cause the
child to not be able to start, but that shouldn't crash the parent
process (usually the go command).

Change other fatals into prints with early returns when attempting to
start the child.

Reset the crash output file to clean up if the child process could not
be started and crashmonitoring is enabled.

Updates golang/go#68976
Updates golang/go#68995

Change-Id: I42f55dc90f68f91b272a7ebf64d2a4a3b00815c7
Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/607595
Commit-Queue: Michael Matloob <matloob@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Robert Findley <rfindley@google.com>
(cherry picked from commit 61baa7d367c9761aaa54ff14aaac79f8407d4782)
Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/609136
2 files changed
tree: a2115d1ff58e1c6627744383fec1c0141eb4946b
  1. cmd/
  2. config/
  3. counter/
  4. crashmonitor/
  5. godev/
  6. internal/
  7. .dockerignore
  8. .eslintrc.json
  9. .gitattributes
  10. .gitignore
  11. .prettierrc.json
  12. .stylelintrc.json
  13. CONTRIBUTING.md
  14. dir.go
  15. doc.go
  16. go.mod
  17. go.sum
  18. LICENSE
  19. mode.go
  20. npm
  21. npx
  22. package-lock.json
  23. package.json
  24. PATENTS
  25. README.md
  26. start.go
  27. start_posix.go
  28. start_test.go
  29. start_windows.go
  30. tsconfig.json
  31. types_alias.go
README.md

Go Telemetry

This repository holds the Go Telemetry server code and libraries, used for hosting telemetry.go.dev and instrumenting Go toolchain programs with opt-in telemetry.

Warning: this repository is intended for use only in tools maintained by the Go team, including tools in the Go distribution and auxiliary tools like gopls or govulncheck. There are no compatibility guarantees for any of the packages here: public APIs will change in breaking ways as the telemetry integration is refined.

Notable Packages

Contributing

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the time repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/telemetry:” in the subject line, so it is easy to find.

Linting & Formatting

This repository uses eslint to format TS files, stylelint to format CSS files, and prettier to format TS, CSS, Markdown, and YAML files.

See the style guides:

It is encouraged that all TS and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI.

Installing npm Dependencies:

  1. Install docker
  2. Run ./npm install

Run ESLint, Stylelint, & Prettier

./npm run all