README
¶
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 golang.org/x/perf/cmd/...
.
You can also manually git clone the repository and run go install ./cmd/...
.
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.
Directories
¶
Path | Synopsis |
---|---|
analysis
|
|
app
Package app implements the performance data analysis server.
|
Package app implements the performance data analysis server. |
appengine
This binary contains an App Engine app for perf.golang.org
|
This binary contains an App Engine app for perf.golang.org |
localperf
Localperf runs an HTTP server for benchmark analysis.
|
Localperf runs an HTTP server for benchmark analysis. |
cmd
|
|
benchsave
Benchsave uploads benchmark results to a storage server.
|
Benchsave uploads benchmark results to a storage server. |
benchstat
Benchstat computes and compares statistics about benchmarks.
|
Benchstat computes and compares statistics about benchmarks. |
Package storage contains a client for the performance data storage server.
|
Package storage contains a client for the performance data storage server. |
app
Package app implements the performance data storage server.
|
Package app implements the performance data storage server. |
appengine
This binary contains an App Engine app for perfdata.golang.org
|
This binary contains an App Engine app for perfdata.golang.org |
benchfmt
Package benchfmt provides readers and writers for the Go benchmark format.
|
Package benchfmt provides readers and writers for the Go benchmark format. |
db
Package db provides the high-level database interface for the storage app.
|
Package db provides the high-level database interface for the storage app. |
db/sqlite3
Package sqlite3 provides the sqlite3 driver for x/perf/storage/db.
|
Package sqlite3 provides the sqlite3 driver for x/perf/storage/db. |
fs
Package fs provides a backend-agnostic filesystem layer for storing performance results.
|
Package fs provides a backend-agnostic filesystem layer for storing performance results. |
fs/gcs
Package gcs implements the fs.FS interface using Google Cloud Storage.
|
Package gcs implements the fs.FS interface using Google Cloud Storage. |
fs/local
Package local implements the fs.FS interface using local files.
|
Package local implements the fs.FS interface using local files. |
localperfdata
Localperfdata runs an HTTP server for benchmark storage.
|
Localperfdata runs an HTTP server for benchmark storage. |
query
Package query provides tools for parsing a query.
|
Package query provides tools for parsing a query. |
internal
|
|
basedir
Package basedir finds templates and static files associated with a binary.
|
Package basedir finds templates and static files associated with a binary. |
stats
Package stats implements several statistical distributions, hypothesis tests, and functions for descriptive statistics.
|
Package stats implements several statistical distributions, hypothesis tests, and functions for descriptive statistics. |