JCoz
JCoz copied to clipboard
JCoz -- The first Java causal profiler
Hi, Apologies if this is a silly question, but I wanted to run the example "run-workload" and the "run-profiler", unfortunately no matter what I do I cannot get it to...
Full compiler output: ``` $ make all g++ -I/usr/lib/jvm/java-11-openjdk/bin/../include -I/usr/lib/jvm/java-11-openjdk/bin/../include/linux -I/usr/include -mfpmath=sse -std=gnu++0x -fdiagnostics-show-option -fexceptions -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-strict-aliasing -fPIC -funsigned-char -Fvisibility=hidden -m64 -msse2 -g -D__STDC_FORMAT_MACROS -Wframe-larger-than=16384 -Wno-unused-but-set-variable -Wunused-but-set-parameter -Wvla -Wno-conversion-null...
This fixes #70
This implements feature proposed in #69.
Sometimes I get the following thread states: - profiler thread blocks at safepoint when executing `jvmti->GetLineNumberTable` and holding `frame_lock`; - one user thread in signal handling holds `in_scope_lock` and spins...
All of the locks used in `JCoz` are home-grown spinlocks + memory fences. The original intention here was to get the profiler out of the way of the program as...
The total delay in experiment result can be obscure sometimes. For example, there can be non-zero delays on baseline; once there was a delay that was greater than experiment duration...
During experiment preparation, JCoz samples threads, collects topmost stack trace frames that are in user-defined scope, and then randomly selects one of collected frames. So, the "hotter" the line, the...
Ubuntu 20.04 - Linux avocado 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ```bash markus@avocado:~/src/Other/JCoz(master)$ make run-rmi-host java \ -cp $(readlink -f ./src/java/target/client-*-jar-with-dependencies.jar):/usr//lib/jvm/java-8-oracle//lib/tools.jar \ jcoz.service.JCozService...
We currently rely on exceptions and print statements to diagnose issues. We should start using a logger (on both the Java and C++ layers) for easier debugging, and to make...