]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
CI Benchmarking with CircleCI Runner and OpenSearch Dashboard (EB 1088) (#9723)
authorAlan Paxton <alan.paxton@gmail.com>
Sat, 4 Jun 2022 16:31:47 +0000 (09:31 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Sat, 4 Jun 2022 16:31:47 +0000 (09:31 -0700)
commit2f4a0ffef83a788407c155898cfda169b4ef65e9
tree6d0446b70ff5d08936d448e7e80bedb4fa3bdeae
parent560906ab331e76b9625ff75af203eccc12150979
CI Benchmarking with CircleCI Runner and OpenSearch Dashboard (EB 1088) (#9723)

Summary:
CircleCI runner based benchmarking. A runner is a dedicate machine configured for CircleCI to perform work on. Our work is a repeatable benchmark, the `benchmark-linux` job in `config.yml`

A runner, in CircleCI terminology, is a machine that is managed by the client (us) rather than running on CircleCI resources in the cloud. This means that we define and configure the iron, and that therefore the performance is repeatable and predictable. Which is what we need for performance regression benchmarking.

On a time schedule (or on commit, during branch development) benchmarks are set off on the runner, and then a script is run `benchmark_log_tool.py` which parses the benchmark output and pushes it into a pre-configured OpenSearch document connected to an OpenSearch dashboard. Members of the team can examine benchmark performance changes on the dashboard.

As time progresses we can add different benchmarks to the suite which gets run.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/9723

Reviewed By: pdillinger

Differential Revision: D35555626

Pulled By: jay-zhuang

fbshipit-source-id: c6a905ca04494495c3784cfbb991f5ab90c807ee
.circleci/config.yml
build_tools/benchmark_log_tool.py [new file with mode: 0755]