Chapter 4. Go Race Detector

Go Toolset includes the Go race detector. The race detector is a feature of the Go standard library. The race detector must be enabled at compile time and is used at runtime.

4.1. Installing the Race Detector

In Go Toolset, the race detector is provided by the go-toolset-1.10-golang-race package. To install the race detector:

# yum install go-toolset-1.10-golang-race

A variant of the Go standard library with the runtime race detection enabled is installed.

See Also

4.2. Using the Race Detector

To use the runtime race detector for a Go project, add the -race option to the go tool commands used when manipulating the project.

For a minimal approach to using the race detector, build the project with the -race option:

$ scl enable go-toolset-1.10 'go build -race -o output_file go_main_package'

When you run the resulting executable, the race detector will print warnings to the standard output when a race is detected.

Important

The race detector has a significant runtime resource overhead.

4.3. Additional Resources

A detailed description of the Go race detector and its features is beyond the scope of this book. For more information, see the resources listed below.

Online Documentation

See Also