{"repo":"beothorn/javaflame","free":true,"listed":false,"github":"https://github.com/beothorn/javaflame","clone":"git clone https://github.com/beothorn/javaflame.git","description":"Create reports for function calls with argument and return values on java. No servers or open connections, just plug the agent and get the results.","language":"Java","stars":93,"topics":["agent","bytecode-manipulation","debugging","flamegraph","java"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Javaflame Capture all function calls including argument and return values. Just plug the agent and get the results. See function calls, parameters and return values all at once. Latest release v27.1.0 Want to see it in action? Check out this rendering of some sort algorithms flamegraphs. Screenshots What is this for? This is mainly a debugging tool. The motivation behind it is to have a quick way to get a glimpse of how some logic is handled by looking at the values that are passed around between functions. It is specially nice to use together with your automated tests. Is this a profiler? No. A profiler, either for memory or performance, tries to have as little impact as possible on the execution of the process. Usually, the way it works is by sampling the executon stack (either inside the JVM or the OS kernel) and using it to acess how long a call took. The stack is the very stack of the process. That is not what javaflame does. Javaflame injects some bytecode on every function call that matches the filter on its arguments. This bytecode will store the function name on a separate stack and will use reflection to get the parameters. It will also call the toString function for each argument and store the result on the separate stack. That means Javaflame impacts performance (because of the time it takes to process toString) and memory (because it stores the argument values). You still can use it to have some idea about the performance, if you assume the time it takes to execu","default_branch":null,"files":null,"tree":[],"storefront":"/r/beothorn","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/beothorn/javaflame/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}