Skip to content
Permalink
Browse files
update the readme with instructions for profiling
  • Loading branch information
nonbinaryprogrammer committed Mar 12, 2019
1 parent caaf336 commit 70e4497d71330a37d75d7392d5b260c7d1a71805
Showing 1 changed file with 41 additions and 0 deletions.
@@ -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
```

0 comments on commit 70e4497

Please sign in to comment.