1
1
## Tools {#tools}
2
2
3
+ ### Telemetry
4
+
5
+ <!-- go.dev/issue/58894, go.dev/issue/67111 -->
6
+ Starting in Go 1.23, the Go toolchain can collect usage and breakage
7
+ statistics that help the Go team understand how the Go toolchain is
8
+ used and how well it is working. We refer to these statistics as
9
+ [ Go telemetry] ( /doc/telemetry ) .
10
+
11
+ Go telemetry is an _ opt-in system_ , controlled by the
12
+ [ ` go ` ` telemetry ` command] ( /cmd/go/#hdr-Manage_telemetry_data_and_settings ) .
13
+ By default, the toolchain programs
14
+ collect statistics in counter files that can be inspected locally
15
+ but are otherwise unused (` go ` ` telemetry ` ` local ` ).
16
+
17
+ To help us keep Go working well and understand Go usage,
18
+ please consider opting in to Go telemetry by running
19
+ ` go ` ` telemetry ` ` on ` .
20
+ In that mode,
21
+ anonymous counter reports are uploaded to
22
+ [ telemetry.go.dev] ( https://telemetry.go.dev ) weekly,
23
+ where they are aggregated into graphs and also made
24
+ available for download by any Go contributors or users
25
+ wanting to analyze the data.
26
+ See “[ Go Telemetry] ( /doc/telemetry ) ” for more details
27
+ about the Go Telemetry system.
28
+
3
29
### Go command {#go-command}
4
30
5
31
Setting the ` GOROOT_FINAL ` environment variable no longer has an effect
@@ -23,18 +49,9 @@ It exits with a non-zero code if updates are needed.
23
49
The ` go ` ` list ` ` -m ` ` -json ` command now includes new ` Sum ` and ` GoModSum ` fields.
24
50
This is similar to the existing behavior of the ` go ` ` mod ` ` download ` ` -json ` command.
25
51
26
- <!-- go.dev/issue/67111 ("cmd/go: add go telemetry subcommand") -->
27
- The new ` go ` ` telemetry ` command can be used to view and configure the telemetry collection
28
- mode. Without arguments, it displays the current mode. With ` local ` , ` on ` , or ` off ` , it sets
29
- the collection mode. ` go ` ` env ` now lists two values: the ` GOTELEMETRY ` value, which
30
- contains the telemetry collection mode, and the ` GOTELEMETRYDIR ` value setting which contains
31
- the directory telemetry data and configuration are written to.
32
-
33
- <!-- go.dev/issue/58894 ("all: add opt-in transparent telemetry to Go toolchain") -->
34
- <!-- TODO: document Go 1.23 behavior (from https://go.dev/cl/559199, https://go.dev/cl/559519, https://go.dev/cl/559795, https://go.dev/cl/562715, https://go.dev/cl/562735, https://go.dev/cl/564555, https://go.dev/cl/570679, https://go.dev/cl/570736, https://go.dev/cl/582695, https://go.dev/cl/584276, https://go.dev/cl/585235, https://go.dev/cl/586138) -->
35
-
36
52
<!-- go.dev/issue/65573 ("cmd/go: separate default GODEBUGs from go language version") -->
37
- <!-- TODO: document Go 1.23 behavior (from https://go.dev/cl/584218, https://go.dev/cl/584300, https://go.dev/cl/584475, https://go.dev/cl/584476) -->
53
+ The new ` godebug ` directive in ` go.mod ` and ` go.work ` declares a
54
+ [ GODEBUG setting] ( /doc/godebug ) to apply for the work module or workspace in use.
38
55
39
56
### Vet {#vet}
40
57
@@ -44,7 +61,7 @@ The `go vet` subcommand now includes the
44
61
analyzer, which flags references to symbols that are too new for the version
45
62
of Go in effect in the referring file. (The effective version is determined
46
63
by the ` go ` directive in the file's enclosing ` go.mod ` file, and
47
- by any [ ` //go:build ` constraints] ( https://pkg.go.dev /cmd/go#hdr-Build_constraints)
64
+ by any [ ` //go:build ` constraints] ( /cmd/go#hdr-Build_constraints )
48
65
in the file.)
49
66
50
67
For example, it will report a diagnostic for a reference to the
0 commit comments