commit | 2e57a912eafefc904ac735f10bace823128f67ba | [log] [tgz] |
---|---|---|
author | Rob Findley <rfindley@google.com> | Mon May 13 12:30:38 2024 +0000 |
committer | Robert Findley <rfindley@google.com> | Wed May 22 23:35:38 2024 +0000 |
tree | b2a1ed2506d7ef58a59c5fcd7e908493d48ae2b2 | |
parent | bda55230c457d8271c577c0da94d4b94e3543dd4 [diff] |
start,internal/upload: add two tests for concurrent upload Add two tests, one for telemetry.Start and an other for upload.Run, which execute the upload concurrently. The test for telemetry.Start succeeds, due to the concurrency safety from the exclusive acquisition of the upload.token file. The test for upload.Run results in incorrect upload counts and occasional invalid report json (due to write shearing). Despite the upload.token guard, upload.Run should be more concurrency safe, since there is still a race condition when the upload.token is released. A subsequent CL will add more safeguards. For golang/go#65970 Change-Id: Ic7e57b1ee794a58340901289930250bf5114fdf6 Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/586141 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
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.
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.
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.
./npm install
./npm run all