mirror of
https://github.com/golang/go
synced 2024-11-18 14:14:46 -07:00
ae19ec7143
We change the main exporter to be stored and fetched using atomics rather than aquiring a mutex for a mild (but significant in the disabled case) speedup. Also has the benefit of not holding a global lock over all telemetry operations. benchstat of logging benchmatks before and after: name old time/op new time/op delta Baseline-8 329ns ± 2% 327ns ± 2% ~ (p=0.181 n=19+17) LoggingNoExporter-8 3.08µs ± 3% 2.42µs ± 2% -21.42% (p=0.000 n=20+19) Logging-8 13.7µs ± 2% 13.2µs ± 1% -3.49% (p=0.000 n=19+19) LoggingStdlib-8 5.39µs ± 3% 5.41µs ± 2% ~ (p=0.177 n=19+20) This is a replacement for https://go-review.googlesource.com/c/tools/+/212244 but built on the single exporter principle rather than the exporter list. Change-Id: Icc99319c4357e0bcb63386c64372a733e8a76796 Reviewed-on: https://go-review.googlesource.com/c/tools/+/221218 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> |
||
---|---|---|
.. | ||
apidiff | ||
fastwalk | ||
gocommand | ||
gopathwalk | ||
imports | ||
jsonrpc2 | ||
lsp | ||
memoize | ||
packagesinternal | ||
span | ||
telemetry | ||
testenv | ||
tool | ||
xcontext |