blob: 2ba775d7914e6c0b2abace316bd1f4090755ddde [file] [log] [blame] [view]
# Go performance measurement, storage, and analysis tools
This subrepository holds the source for various packages and tools
related to performance measurement, storage, and analysis.
[cmd/benchstat](cmd/benchstat) contains a command-line tool that
computes and compares statistics about benchmarks.
[cmd/benchsave](cmd/benchsave) contains a command-line tool for
publishing benchmark results.
[storage](storage) contains the https://perfdata.golang.org/ benchmark
result storage system.
[analysis](analysis) contains the https://perf.golang.org/ benchmark
result analysis system.
Both storage and analysis can be run locally; the following commands will run
the complete stack on your machine with an in-memory datastore.
```
go get -u golang.org/x/perf/storage/localperfdata
go get -u golang.org/x/perf/analysis/localperf
localperfdata -addr=:8081 -view_url_base=http://localhost:8080/search?q=upload: &
localperf -addr=:8080 -storage=http://localhost:8081
```
The storage system is designed to have a [standardized
API](https://perfdata.golang.org/), and we encourage additional analysis
tools to be written against the API. A client can be found in the
[storage](https://godoc.org/golang.org/x/perf/storage) package.
## Download/Install
The easiest way to install is to run `go get -u golang.org/x/perf`. You can
also manually git clone the repository to `$GOPATH/src/golang.org/x/perf`.
## Report Issues / Send Patches
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 perf repository is located at
https://github.com/golang/go/issues. Prefix your issue with "x/perf:" in the
subject line, so it is easy to find.