Performance measurement, storage, and analysis.

Clone this repo:

Branches

  1. 638b204 all: add build tags to ignore things using sqlite on plan9 by Brad Fitzpatrick · 2 weeks ago master
  2. a4c2694 storage/app: fix fmt format errors causing vet failures during test by Brad Fitzpatrick · 2 weeks ago
  3. 4469e6c README: add more links/information by Kevin Burke · 5 months ago
  4. 4979bd1 analysis/app: add "commit" tooltip to trend by Tamir Duberstein · 5 months ago
  5. ae5bfa6 benchstat: don't print sign for 0% when there is no change by Josh Bleecher Snyder · 7 months ago

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 contains a command-line tool that computes and compares statistics about benchmarks.

cmd/benchsave contains a command-line tool for publishing benchmark results.

storage contains the https://perfdata.golang.org/ benchmark result storage system.

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, and we encourage additional analysis tools to be written against the API. A client can be found in the 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.