Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1009)

Unified Diff: web_page_replay_go/README.md

Issue 2999463002: [wpr-go] Update README (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « web_page_replay_go/README ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: web_page_replay_go/README.md
diff --git a/web_page_replay_go/README.md b/web_page_replay_go/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d3f9824c01d8feeabad758ef8a0dd5befbf4630f
--- /dev/null
+++ b/web_page_replay_go/README.md
@@ -0,0 +1,124 @@
+# Web Page Replay
+Web Page Replay (WprGo) is a performance testing tool written in Golang for
+recording and replaying web pages. WprGo is currently used in Telemetry for
+Chrome benchmarking purposes. This requires go 1.8 and above. This has not been
+tested with earlier versions of go. It is supported on Windows, MacOS and Linux.
+
+## Required packages
+
+```
+go get github.com/codegangsta/cli
+```
+## Set up GOPATH
+```
+export GOPATH=/path/to/web_page_replay_go:"$HOME/go"
+```
+
+## Sample usage
+
+### Record mode
+* Terminal 1:
+
+ Start wpr in record mode.
+
+ ```
+ go run src/wpr.go record --http_port=8080 --https_port=8081 /tmp/archive.wprgo
+ ```
+ ...
+
+ Ctrl-C
+
+* Terminal 2:
+
+ ```
+ google-chrome-beta --user-data-dir=$foo \
+ --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost"
+ ```
+ ... wait for record servers to start
+
+### Replay mode
+* Terminal 1:
+
+ Start wpr in replay mode.
+ ```
+ go run src/wpr.go replay --http_port=8080 --https_port=8081 /tmp/archive.wprgo
+ ```
+
+* Terminal 2:
+ ```
+ google-chrome-beta --user-data-dir=$bar \
+ --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost"`
+ ```
+ ... wait for replay servers to start
+
+ load the page
+
+### Installing test root CA
+
+WebPageReplay uses self signed certificates for Https requests. To make Chrome
+trust these certificates, you can install a test certificate authority as a
+local trust anchor. **Note:** Please do this with care because installing the
+test root CA compromises your machine. This is currently only supported on
+Linux.
+
+Installing the test CA
+```
+go run src/wpr.go installroot
+```
+Uninstall the test CA
+```
+go run src/wpr.go removeroot
+```
+
+## Other use cases
+
+### Http-to-http2 proxy:
+
+* Terminal 1:
+```
+go run src/wpr.go replay --https_port=8081 --https_to_http_port=8082 \
+ /tmp/archive.wprgo
+```
+
+* Terminal 2:
+```
+google-chrome-beta --user-data-dir=$foo \
+ --host-resolver-rules="MAP *:443 127.0.0.1:8081,EXCLUDE localhost" \
+ --proxy-server=http=https://127.0.0.1:8082 \
+ --trusted-spdy-proxy=127.0.0.1:8082
+```
+
+## Inspecting an archive
+
+httparchive.go is a convenient script to inspect a wprgo archive. Use `ls`,`cat`
+and `edit`. Options are available to specify request url host (`--host`) and
+path (`--full-path`).
+
+E.g.
+
+```
+go run src/httparchive.go ls /tmp/archive.wprgo --host=example.com --full-path=/index.html
+```
+
+## Running unit tests
+Run all tests in a specific file.
+```
+go test transformer_test.go transformer.go
+```
+
+Run all tests in `webpagereplay` module.
+```
+go test webpagereplay -run ''
+```
+
+## Contribute
+Please read [contributor's guide][contribute]. We use the Catapult
+[issue tracker][tracker] for bugs and features. Once your change is reviewed
+and ready for landing, please run `telemetry/bin/update_wpr_go_binary` to update
+binaries in Google cloud storage.
+
+## Contact
+Please email telemetry@chromium.org.
+
+[contribute]: https://github.com/catapult-project/catapult/blob/master/CONTRIBUTING.md
+[tracker]: https://github.com/catapult-project/catapult/issues
« no previous file with comments | « web_page_replay_go/README ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698