* Java 1.8
* [Apache Maven](https://maven.apache.org/) 3.0+
* A recent version of [LTTng-Tools](https://lttng.org/download/)
-* A recent version of [Babeltrace](http://www.efficios.com/babeltrace)
+* A recent version of [Babeltrace 2.x](http://www.efficios.com/babeltrace)
* A git branch or version of LTTng-UST you want to test
For example, on Ubuntu you can use the
sudo apt-add-repository ppa:lttng/ppa
sudo apt-get update
- sudo apt-get install lttng-tools babeltrace maven openjdk-8-jre
+ sudo apt-get install lttng-tools babeltrace2 maven openjdk-8-jre
Also make sure `mvn -version` reports a `Java version: 1.8` or higher. If it
does not, you may need to set your `JAVA_HOME` accordingly.
Download eclipse (for java dev).
Import a maven project that points to this repo:
- File -> Import -> Project -> Select Maven folder -> Select Existing Maven Projects
- Point the root directory to this repo. Select all projects. Finish
+ File -> Import -> Project -> Select Maven folder -> Select Existing Maven Projects
+ Point the root directory to this repo. Select all projects. Finish
Setup the Debug Configuration:
- Run -> Debug Configurations.
- Select Remote Java Application.
- Press the New Configuration button.
- Give it the name "Remote lttng maven".
- Select the project and select `lttng-tools-java`
- Set the port to 5005
- Go in the Source tab.
- Click Add -> Java project -> Select all
- Click Apply
- Click Close
+
+ Run -> Debug Configurations.
+ Select Remote Java Application.
+ Press the New Configuration button.
+ Give it the name "Remote lttng maven".
+ Select the project and select `lttng-tools-java`
+ Set the port to 5005
+ Go in the Source tab.
+ Click Add -> Java project -> Select all
+ Click Apply
+ Click Close
Now let's run a single test with debug:
- mvn clean verify -Dit.test=JulAppContextOrderingIT -DfailIfNoTests=false -Dmaven.failsafe.debug
+ mvn clean verify -Dit.test=JulAppContextOrderingIT -DfailIfNoTests=false -Dmaven.failsafe.debug
Wait for:
- Listening for transport dt_socket at address: 5005
+
+ Listening for transport dt_socket at address: 5005
Now go back to eclipse:
- Navigate to where you want to put a break point. For example, JulAppContextOrderingIT.registerAgent.
- Ctrl + shift + b can be used to set a tracepoint at the desired line.
+
+ Navigate to where you want to put a break point. For example, JulAppContextOrderingIT.registerAgent.
+ Ctrl + shift + b can be used to set a tracepoint at the desired line.
Then attach to the debugger:
- Run -> Debug Configurations.
- Select on the right "Remote lttng maven"
- Click Debug
+
+ Run -> Debug Configurations.
+ Select on the right "Remote lttng maven"
+ Click Debug
You should hit the breakpoint at some point and from there use steps etc.
If you want to debug lttng-ust, you need to insert a breakpoint at a valid point
in time for the test and then use gdb to hook yourself to the java process.
From there debugging is the same as any C application.
+You will need to ignore SIGSEV from java under gdb:
+
+ handle SIGSEGV nostop noprint pass
Running the benchmarks
----------------------