Last week, we had addressed the issue with then implementation of repository-level analysis that it wouldn't persist the file-level information and had discussed a new enrich index structure.
- Given a thought; Instead of altering the structure of enrich index, there's an alternate way to deal with the problem and would lead to implementation. I implemented a rough version of repository-level analysis this time with the help of lizard (which is also employed for file-level analysis), as it provided extra optimization for recursively performing the operation on a given software repository. (Evaluation results below)
Repository | Number of Commits | File Level | Repository Level |
---|---|---|---|
chaoss/grimoirelab-perceval | 1394 | 26:22 min | 26:56 min |
chaoss/grimoirelab-sirmordred | 869 | 08:51 min | 3:51 min |
chaoss/grimoirelab-graal | 171 | 2:24 min | 1:04 min |
_above results are considering only the master branch. We can observe that the divergence in execution time is dependent on the number of files in a given repository_ (for obvious reasons 😅)
- With the help of the above implementation, I could produce the following metrics in Kibana with minimal configuration. The approaches for producing others (including the evolution of the metrics) efficiently is yet to be discussed with mentors.
Repository: chaoss/grimoirelab-perceval
[ Total Lines of Code after latest commit ]
[ Total Code Complexity after latest commit ]
[ Most Complex files after latest commit ]
- The enrich index working branch can be found at inishchith/grimoirelab-elk
This week's task also included working on TimeLion visualizations, but as our idea of implementing the metrics involved bucketing (an attribute) and I couldn't get a clear reference for implementation and after giving some time had to stage the work which will be addressed in today's meeting with some discussion on how to proceed with more visualizations.
-
Pull request created
- chaoss/grimoirelab-graal#39: [cocom] Add repository level analysis via lizard
- chaoss/grimoirelab-graal#39: [cocom] Add repository level analysis via lizard
-
Issues opened
- chaoss/grimoirelab-elk#642: Add option to fetch from selected branches
- chaoss/grimoirelab-elk#642: Add option to fetch from selected branches