✏️ writes @inishchith

Home About Work RSS

[week-2] Evaluating approaches and Initial integration of Graal

  • GSoC
  • 2019
  • week-2
  • coding-period-1

We had our 2nd meeting for the first coding phase (27th May to 28th June) on Friday, 07th June 2019 at 12:30 CEST or 16:00 IST, which was as always conducted on #grimoirelab channel.
In this post, I’ll try to highlight some key points discussed during the meeting, ranging from the work done in this week, blockers or pending work (if any) to the work planned for the coming week.

# What work was done in this week?

In this week, The first task involved an initial exploration of ELK & Mordred and to look/discuss an approach to integrate Graal with the toolchain; The second task involved learning the process of creation of visualizations, import, and export of Kibana dashboards using appropriate Grimoirelab components.

  • For the first task, I’d thought to integrate Graal’s CoCom Backend first and after it’s completion, we can move ahead to support other backends as well. At the start of the week, @valeriocos had pushed some reference code so that I could improve on it.
  • The approach was to add sections in Mordred’s config file as per convention (reference show below)
raw_index = git_cocom
enriched_index = git_cocom_enriched
latest-items = true
category = ...
  • And, the above would require adding more connectors to ELK with a dependency to Graal. Each connector would be composed of [ GraalBackend, raw, enrich connector, GraalCommand ] as shown below:
"cocom": [CoCom, CoComOcean, CoComEnrich, CoComCommand]
  • A working branch inishchith/grimoirelab-elk#gsoc-graal-2019 was created to track the progress of integrating Graal’s CoCom Backend with ELK. In order to proceed, We’ll have a discussion today on what attributes from the results produced by Graal are relevant and should be considered for visualization and creation of dashboards and the issue thread can be found here - inishchith/gsoc-graal#6

  • For the second task, we had a webinar scheduled yesterday (Thursday, 6th June 2019) at 12:00 CEST or 15:00 IST, which helped me understand how the components work, how to create, export and import dashboard panels using the tools - Kibiter, Sigils & Kidash. The brief summary on the task can be found inishchith/gsoc-graal#5

  • Pull request created
  • Issues opened

# Plans for next week:

  • After this week’s meeting, we’ve decided to conduct some discussion related to the visualization to be provided with the data obtained from the Graal’s backend.
  • I had proposed that, we could for now completely focus on implementing integration of Graal’s CoCom Backend and then move on to integrating others one-by-one, in this way:
    • We will have complete implementation of Backends and their visualizations.
    • Subsequent implementation would follow a similar general flow/structure.
    • Refactoring and evaluation for improvements would be much easier.
  • Initially, we had thought to provide analysis of changes over a period of time(configurable) for attributes such as ccn (code complexity), loc (lines of code), num_funs (number of functions), tokens (number of tokens) which are produced by Graal’s CoCom Backend.
  • But in this week, we’ll conduct some discussion on the issue thread for the requirement and provide some reference visualizations for the same.

# Footnotes:

  • Next meeting will be conducted on Friday, 14th June 2019 at 12:30 CEST or 16:00 IST, so let’s catch up next week ;)
  • IRC conversation log of the meeting can be found here
  • GSoC project proposal
  • Project tracker can be found here

I’ll be posting updates on the mailing list as well as on the twitter thread.

If you have any questions or suggestions, please make sure to comment down below ;)