This is an automated email from the ASF dual-hosted git repository. heybales pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git
The following commit(s) were added to refs/heads/develop by this push: new 70e4497 update the readme with instructions for profiling new 52509fa Merge pull request #70 from balesh2/updateREADME 70e4497 is described below commit 70e4497d71330a37d75d7392d5b260c7d1a71805 Author: Helena A. Bales <hba...@pivotal.io> AuthorDate: Tue Mar 12 15:07:18 2019 -0700 update the readme with instructions for profiling --- infrastructure/scripts/aws/README.md | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/infrastructure/scripts/aws/README.md b/infrastructure/scripts/aws/README.md index 6aec4d0..45fbb5d 100644 --- a/infrastructure/scripts/aws/README.md +++ b/infrastructure/scripts/aws/README.md @@ -97,4 +97,45 @@ Example 2 - run_against_baseline.sh: ./launch_cluster.sh --tag mycluster --count 4 ./run_against_baseline.sh --tag mycluster --geode-branch develop --benchmark-branch benchmarkBranch --metadata "'name':'HelenaTestingCPUs','CPU':'256','geodeBranch':'CPUTest'" ./destroy_cluster.sh --tag mycluster +``` + +# Running with Profiler + +## Prerequisites +* You must have fulfilled the prerequisites at the beginning of this doc +* You must have YourKit installed + +## Running in AWS +* Launch YourKit +* On the YourKit "Welcome" page, under the "Monitor Applications" section, hit the green plus to add +a configuration +* In the configuration window, fill in the following: + * `Connection name`: the name of the member that you want to connect to + * `Host or IP Address`: the public IP of the AWS VM hosting the member with which you want to + connect (the launch cluster script prints these in the order that they were started: + [locator-0, server-1, server-2, client-3]) + * Select `Advanced` and fill in the following: + * `SSH User`: `geode` + * `SSH port`: `22` + * Click on "Authentication Settings..." and on that window, fill in the following: + * `Authentication method`: `private key` + * `Private Key`: `~/.geode-benchmarks/\<clusterTag\>-privkey.pem` + * `Passphrase`: leave blank +* Once you have saved the configuration, it should show up under the "Monitor Applications" section +of the page with the connection status. If the machines are running, the status should be "No +applications running". If there is a test in progress, you should be able to click through to +monitor the test. +* Pull up a terminal and navigate to `geode-benchmarks/infrastructure/scripts/aws` +* Copy the YourKit file to the AWS VMs using the following command + * `./copy_to_cluster.sh --tag <clusterTag> <path to libyjpagent.so> .` +* Run the test using the `run_tests.sh` script, with the additional CLI option `-Pbenchmark.profiler.argument`: + * `./run_tests.sh --tag <clusterTag> [other CLI options] -- -i -Pbenchmark.profiler.argument=-agentpath:/home/geode/libyjpagent.so=disablestacktelemetry,exceptions=disable,delay=60000,sessionname=JVM_ROLE-JVM_ID` +* Return to YourKit and profile as usual + +## Example +```bash +./launch_cluster --tag profiling --count 4 +./copy_to_cluster.sh --tag profiling /Applications/YourKit-Java-Profiler-2019.1.app/Contents/Resources/bin/linux-x86-64/libyjpagent.so . +./run_tests.sh --tag profiling --geode-branch develop -- -i -Pbenchmark.profiler.argument=-agentpath:/home/geode/libyjpagent.so=disablestacktelemetry,exceptions=disable,delay=60000,sessionname=JVM_ROLE-JVM_ID +./destroy_cluster.sh --tag profiling ``` \ No newline at end of file