benchseries: expand configuration for performance monitoring

For performance monitoring analysis, we want to split tables only by
unit, as goarch and goos are identical for all benchmarks and we don't
want these stuffed into ComparisonSeries.Unit. The simplest way to
achieve this is by making the table projection configurable, and use an
empty table projection for our analysis.

We also want to ignore a few more keys.

benchseries stores a variety of timestamps as strings (e.g., map keys).
Provide ParseNormalizedDateString as a helper to convert back to
time.Time.

For golang/go#48803.

Change-Id: I4f1485c5f2c645f57712e7453073bf72718efc36
Reviewed-on: https://go-review.googlesource.com/c/perf/+/398995
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
1 file changed
tree: aa5b0fcea4d18b22e337f248bc98196bac114ab1
  1. analysis/
  2. benchfmt/
  3. benchmath/
  4. benchproc/
  5. benchseries/
  6. benchstat/
  7. benchunit/
  8. cmd/
  9. internal/
  10. storage/
  11. AUTHORS
  12. CONTRIBUTING.md
  13. CONTRIBUTORS
  14. go.mod
  15. go.sum
  16. LICENSE
  17. PATENTS
  18. README.md
README.md

Go benchmark analysis tools

Go Reference

This subrepository holds tools and packages for analyzing Go benchmark results, such as the output of testing package benchmarks.

Tools

This subrepository contains command-line tools for analyzing benchmark result data.

cmd/benchstat computes statistical summaries and A/B comparisons of Go benchmarks.

cmd/benchsave publishes benchmark results to perf.golang.org.

To install all of these commands, run go install golang.org/x/perf/cmd/...@latest. You can also git clone https://go.googlesource.com/perf and run go install ./cmd/... in the checkout.

Packages

Underlying the above tools are several packages for working with benchmark data. These are designed to work together, but can also be used independently.

benchfmt reads and writes the Go benchmark format.

benchunit manipulates benchmark units and formats numbers in those units.

benchproc provides tools for filtering, grouping, and sorting benchmark results.

benchmath provides tools for computing statistics over distributions of benchmark measurements.

Deprecated packages

The following packages are deprecated and no longer supported:

storage contains a deprecated version of the https://perfdata.golang.org/ benchmark result storage system. These packages have moved to https://golang.org/x/build.

analysis contains a deprecated version of the https://perf.golang.org/ benchmark result analysis system. These packages have moved to https://golang.org/x/build.

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.