You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-9Lines changed: 11 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
## Night Rally
2
2
3
-
Night Rally is a set of driver scripts for [running nightly macrobenchmarks for Elasticsearch](https://elasticsearch-ci.elastic.co/view/All/job/elastic+elasticsearch+master+macrobenchmark-periodic). The macrobenchmarks themselves are executed by [Rally](https://github.com/elastic/rally) and [publishing the results](https://elasticsearch-benchmarks.elastic.co/).
3
+
Night Rally is a set of driver scripts for [running nightly macrobenchmarks for Elasticsearch](https://elasticsearch-ci.elastic.co/view/All/job/elastic+elasticsearch+master+macrobenchmark-periodic) and [publishing the results](https://elasticsearch-benchmarks.elastic.co/). The macrobenchmarks themselves are executed by [Rally](https://github.com/elastic/rally).
4
4
5
5
### Prerequisites
6
6
7
7
* Python 3.4+ available as `python3` on the path (verify with: `python3 --version` which should print `Python 3.4.0` (or higher))
8
8
*`pip3` available on the path (verify with `pip3 --version`)
9
9
*`awscli` available on the command line and properly set up to write to the bucket `s3://elasticsearch-benchmarks.elasticsearch.org`.
10
+
*`Ansible` available on the command line (only needed in our nightly benchmarking environment)
10
11
* All prerequisites for [Rally](https://github.com/elastic/rally)
11
12
12
13
Night Rally is only tested on Mac OS X and Linux.
@@ -16,7 +17,7 @@ Night Rally is only tested on Mac OS X and Linux.
16
17
1. Clone this repo: `git clone [email protected]:elastic/night-rally.git`
17
18
2. Ensure that all prerequisites of [Rally](https://github.com/elastic/rally) are properly setup. Hint. It is *not* required to install Rally manually. Just ensure that its prerequisites are installed.
18
19
19
-
Now you can invoke night_rally regularly with the startup script `night_rally.sh` e.g. via cron. The script can also self-update if invoked as `night_rally.sh --self-update`.
20
+
Now you can invoke Night Rally regularly with the startup script `night_rally.sh` e.g. via cron. The script can also self-update if invoked as `night_rally.sh --self-update`.
20
21
21
22
22
23
### How do I ...?
@@ -50,9 +51,10 @@ For more details, please issue `python3 admin.py delete annotation --help`.
50
51
51
52
The following steps are necessary to add a new track:
52
53
53
-
1. Copy a directory in `external/pages` and adjust the names accordingly.
54
-
2. Adjust the menu structure in all other files (if this happens more often, we should think about using a template engine for that...)
55
-
3. Add your track and the challenges to run in the `tracks` hash in `night_rally.py`
54
+
1. Add your track and the challenges to run in `resources/track.json`
55
+
2. Create nightly and release charts and the corresponding dashboards on the Kibana instance https://ece78408d8df7290d4ad6e3ffac5af6a.us-east-1.aws.found.io (it's mapped to be publicly reachable). You can generate release charts with `python3 generate_release_charts.py YOUR_TRACK_NAME`. At the moment there is no such generator for nightly charts though.
56
+
3. Copy a directory in `external/pages`, adjust the names accordingly and reference the UUID of the dashboards that you've created in step 2.
57
+
4. Adjust the menu structure in all other files (if this happens more often, we should think about using a template engine for that...)
56
58
57
59
If you're finished, please submit a PR. After the PR is merged, the new track will show up after the next benchmark.
58
60
@@ -61,11 +63,11 @@ If you're finished, please submit a PR. After the PR is merged, the new track wi
61
63
62
64
Suppose we want to publish a new release benchmark of the Elasticsearch release `5.3.1` on our benchmark page. To do that, start a new [macrobenchmark build](https://elasticsearch-ci.elastic.co/view/All/job/elastic+elasticsearch+master+macrobenchmark-periodic/) with the following parameters:
63
65
64
-
* MODE: release
65
-
* RELEASE: 5.3.1
66
-
* TARGET_HOST: Just use the default value
66
+
*`MODE`: `release`
67
+
*`RELEASE`: `5.3.1`
68
+
*`TARGET_HOST`: Just use the default value
67
69
68
-
The results will show up automatically as soon as the build is finished
70
+
The results will show up automatically as soon as the build is finished.
filters=filters+"{\"input\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"operation:%s AND challenge:%s AND car:%s\"}}},\"label\":\"%s\"}"% (index_op, challenge, car, label)
47
+
filters=filters+"{\"input\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"operation:%s AND challenge:%s AND car:%s\"}}},\"label\":\"%s\"}"% (
"searchSourceJSON": "{\"index\":\"rally-results-*\",\"query\":{\"query_string\":{\"query\":\"environment:release AND active:true AND track:%s AND challenge:%s AND car:%s\",\"analyze_wildcard\":true}},\"filter\":[]}"% (track, challenge, car)
165
+
"searchSourceJSON": "{\"index\":\"rally-results-*\",\"query\":{\"query_string\":{\"query\":\"environment:release AND active:true AND track:%s AND challenge:%s AND car:%s\",\"analyze_wildcard\":true}},\"filter\":[]}"% (
"searchSourceJSON": "{\"index\":\"rally-results-*\",\"query\":{\"query_string\":{\"query\":\"environment:release AND active:true AND track:%s AND challenge:%s AND car:%s\",\"analyze_wildcard\":true}},\"filter\":[]}"% (track, challenge, car)
189
+
"searchSourceJSON": "{\"index\":\"rally-results-*\",\"query\":{\"query_string\":{\"query\":\"environment:release AND active:true AND track:%s AND challenge:%s AND car:%s\",\"analyze_wildcard\":true}},\"filter\":[]}"% (
0 commit comments