Build fix. jetstream has a local copy, not remote archive.
[WebKit-https.git] / Tools / Scripts / webkitpy / benchmark_runner / README.md
index 52350dfdef816af8d5242588450e93e00e70503c..6b952c85ff4d07cb92c6d59d1addf90dc4ad3871 100644 (file)
@@ -45,7 +45,7 @@ benchmark_runner
 ## HOW TOs
 ### How to run
 ```shell
-    python path/to/run_benchmark --build-directory path/to/browser/directory --plan json_format_plan --platform target_platform --browser target_browser
+    python path/to/run-benchmark --build-directory path/to/browser/directory --plan json_format_plan --platform target_platform --browser target_browser
 ```
 * **path/to/browser/directory**: should be the folder containing the executable binary(e.g. /Application/ on OSX which contains Safari.app)
 * **json_format_plan**: the benchmark plan you want to execute  
@@ -55,29 +55,25 @@ To create a plan, you may refer to Plans/jetstream.plan.
 ```json 
 {
     "http_server_driver": "SimpleHTTPServerDriver", 
-    "benchmarks": [
-        {
-            "timeout" : 600,
-            "count": 5,
-            "benchmark_builder": "JetStreamBenchmarkBuilder",
-            "original_benchmark": "../../../../PerformanceTests/JetStream",
-            "benchmark_patch": "data/patches/JetStream.patch",
-            "entry_point": "JetStream/JetStream-1.0.1/index.html",
-            "output_file": "jetstream.result"
-        }
-    ]
+    "timeout" : 600,
+    "count": 5,
+    "benchmark_builder": "JetStreamBenchmarkBuilder",
+    "local_copy": "../../../../PerformanceTests/JetStream",
+    "benchmark_patch": "data/patches/JetStream.patch",
+    "entry_point": "JetStream/JetStream-1.0.1/index.html",
+    "output_file": "jetstream.result"
 }
 ```
 Plan is a json-formatted dictionary which contains following keys 
 * **http_server_driver**: (**case-sensitive**) the http server module you want to host the resources. Current available option is "SimpleHTTPServerHandle" which is based on python twisted framework.
-* **benchmarks**: contains a list of benchmarks you want to run, each benchmark is a list contains following keys:
-    * **timeout**: time limit for **EACH RUN** of the benchmark. This can avoid program getting stuck in the extreme circumstances. The time limit is suggested to be 1.5-2x the time spent in a normal run.
-    * **count**: the number of times you want to run benchmark
-    * **benchmark_builder**:  builder of the benchmark which is responsible for arranging benchmark before the web server serving the directory. In most case, 'GenericBenchmarkHandler' is sufficient. It copies the benchmark to a temporary directory and applies patch to benchmark. If you have special requirement, you could design your own benchmark handle, just like the 'JetStreamBenchmarkHandle' in this example.
-    * **original_benchmark**: path of benchmark, a relative path to the root of this project ('benchmark_runner' directory)
-    * **benchmark_path**: (**OPTIONAL**) path of patch, a relative path to the root of this project ('benchmark_runner' directory)
-    * **entry_point**: the relative url you want browser to launch (a relative path to the webroot)
-    * **output_file**: specify the output file
+* **timeout**: time limit for **EACH RUN** of the benchmark. This can avoid program getting stuck in the extreme circumstances. The time limit is suggested to be 1.5-2x the time spent in a normal run.
+* **count**: the number of times you want to run benchmark
+* **benchmark_builder**:  builder of the benchmark which is responsible for arranging benchmark before the web server serving the directory. In most case, 'GenericBenchmarkHandler' is sufficient. It copies the benchmark to a temporary directory and applies patch to benchmark. If you have special requirement, you could design your own benchmark handle, just like the 'JetStreamBenchmarkHandle' in this example.
+* **local_copy**: path of benchmark, a relative path to the root of this project ('benchmark_runner' directory)
+* **remote_archive**: (**OPTIONAL**) URL of the remote (http/https) ZIP file that contains the benchmark.
+* **benchmark_path**: (**OPTIONAL**) path of patch, a relative path to the root of this project ('benchmark_runner' directory)
+* **entry_point**: the relative url you want browser to launch (a relative path to the benchmark directory)
+* **output_file**: specify the output file, this can be overwritten by specifying '--output-file' while invoking run-benchmark script
 
 ### How to import a benchmark
 * Modify the benchmark html file, make sure the page has following functionalities:
@@ -107,5 +103,4 @@ Plan is a json-formatted dictionary which contains following keys
 * Do following instruction **ONLY IF NEEDED**. In most case, you do not have to.
     * If you want to customize BrowserDriver for specific browser/platform, you need to extend browser_driver/browser_driver.py and register your module in browser_driver/browser_driversjson.
     * If you want to customize HTTPServerDriver, you need to extend http_server_drirver/http_server_driver and register your module in http_server_driver/http_server_drivers.json.
-    * If you want to customize ResultWrapper, you need to extend result_wrapper/base_result_wrapper.py and register your module in result_wrapper/result_wrappers.json 
     * If you want to customize BenchmarkBuilder, you need to extend benchmark_builder/generic_benchmark_builder register you module in benchmark_builder/benchmark_builders.json