Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Profiling in Continuous Integration

Are there any Java profiling tools that integrate with CI servers like Jenkins?

I've no idea if such things exist, but what would be splendid would be some kind of test framework that yielded results like YourKit Profiler's snapshots. These would be invoked by the CI server, and the results stored along with the build. The result being that one could see a history of performance changes in code units, to aid more holistic performance investigations at a system integration level.

like image 216
EngineerBetter_DJ Avatar asked Jun 14 '13 09:06

EngineerBetter_DJ


People also ask

What is profiling in Java?

Profiling is the process of examining an application to locate memory or performance-related issues. When profiling a Java application, you can monitor the Java Virtual Machine (JVM) and obtain data about application performance, including method timing, object allocation and garbage collection.

What is continuous profiling?

“Profiling” is a dynamic method of analyzing the complexity of a program, such as CPU utilization or the frequency and duration of function calls. With profiling, you can locate exactly which parts of your application are consuming the most resources.

How do Java profilers work?

Sampling profilers work by periodically querying the JVM for all the running threads and getting the stack trace for each thread. It then determines what method each thread was executing when the sample was taken and compares the samples to determine how much time was spent in that method.

What is Java profiler tool?

A Java Profiler is a tool that monitors Java bytecode constructs and operations at the JVM level. These code constructs and operations include object creation, iterative executions (including recursive calls), method executions, thread executions, and garbage collections.


1 Answers

Take a look at spf4j, I use it for continuous profiling (profiling always turned on).

It uses sampling for profiling and it can save the profile data to ssdump files, or it can generate html reports. (Spf4j has a UI to visualize the ssdump profile files)

like image 176
user2749180 Avatar answered Sep 25 '22 14:09

user2749180