Mining performance hotspots with JProfiler, jQAssistant, Neo4j and Pandas – Part 2: Root Cause Analysis

Mining performance hotspots with JProfiler, jQAssistant, Neo4j and Pandas – Part 2: Root Cause Analysis

All the work before was just there to get a nice graph model that feels more natural. Now comes the analysis part: As mentioned in the introduction, we don’t only want the hotspots that signal that something awkward happened, but also

the trigger in our application of the hotspot combined with
the information about the entry point (e. g. where in our application does the problem happen) and
(optionally) the request that causes the problem (to be able to localize the problem)…

Storing Git commit information into Pandas’ DataFrame

Storing Git commit information into Pandas’ DataFrame

Software version control systems contain a huge amount of evolutionary data. It’s very common to mine these repositories to gain some insight about how the development of a software product works. But there is the need for some preprocessing of that data to avoid false analysis.

That’s why I show you how to read the commit information of a Git repository into Pandas’ DataFrame!

A simple demo on how to use Python Pandas with jQAssistant / Neo4j

A simple demo on how to use Python Pandas with jQAssistant / Neo4j

I’m a huge fan of the software analysis framework jQAssistant. It’s a great tool for scanning and validating various software artifacts. But I also love Python Pandas as a powerful tool in combination with Jupyter notebook for reproducible Software Analytics.

Combining these tools is near at hand. So I’ve created a quick demonstration for “first contact” 🙂