1
0
mirror of https://github.com/golang/go synced 2024-11-06 01:36:10 -07:00
go/internal/telemetry/export
Ian Cottrell c4206d458c internal/telemetry: change tracing to be event based
We no longer use the span as the core type of tracing, instead that is an
artifact of the exporter, and start and end tracing is just event based.
This both makes the interface normalized, and also means the null exporter case
is considerably cheaper in memory and cpu.
See below for benchstat changes

name                 old time/op    new time/op    delta
TracingNoExporter-8    4.19µs ±12%    2.71µs ±11%  -35.33%  (p=0.000 n=20+20)
Tracing-8              24.1µs ± 3%     5.1µs ±17%  -78.66%  (p=0.000 n=16+20)

name                 old alloc/op   new alloc/op   delta
TracingNoExporter-8    2.32kB ± 0%    0.40kB ± 0%  -82.76%  (p=0.000 n=20+20)
Tracing-8              6.32kB ± 0%    2.32kB ± 0%  -63.30%  (p=0.000 n=20+20)

name                 old allocs/op  new allocs/op  delta
TracingNoExporter-8      35.0 ± 0%      15.0 ± 0%  -57.14%  (p=0.000 n=20+20)
Tracing-8                 215 ± 0%        35 ± 0%  -83.72%  (p=0.000 n=20+20)

Change-Id: I3cf25871fa49584819504b5c19aa580e5dd03395
Reviewed-on: https://go-review.googlesource.com/c/tools/+/221740
Run-TryBot: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-03-04 02:41:40 +00:00
..
ocagent internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00
prometheus internal/telemetry: removing the concept of exporter lists 2020-02-26 21:51:01 +00:00
export.go internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00
id.go internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00
log.go internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00
trace.go internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00