Erlangpl - GSoC project progress

94 views
Skip to first unread message

Kacper Mentel

unread,
Jun 5, 2017, 9:16:20 AM6/5/17
to BEAM Community

Introduction

Hi! My name is Kacper and I'm participating in this year's edition of Google Summer of Code. Erlangpl is the project I'm developing under GSoC. If you want to learn more about my GSoC project or erlangpl here are the links to have a look at:

  1. GSoC
  2. erlangpl

This topic was createad to report progress in the project. Maybe some of you will be intrested in this topic or maybe it will help somebody to stay motivated and do its best for its project.

Every Monday morning I'm going to post here a short summary of the previous week and plans for the current. Let's start!


week 1

Last week I created two PRs:

  • First one allows to gather basic ETS info (number of ETS tables, ETS memory usage) from the observed node and send them through websocket to erlangpl React web ui. I also created, in this PR, new React component which provides the cluster view showing basic ETS info on a graph.
  • This PR makes erlangpl possible to observe multiple nodes in the cluster.

This week I'm going to use the features mentioned above to gather ETS related information form all the nodes connected to erlangpl and present them in the cluster view.

Kacper Mentel

unread,
Jun 12, 2017, 3:57:36 AM6/12/17
to BEAM Community

week 2

In the previous week I implemented gathering and processing/modeling ETS basic information from all observed nodes in the cluster. Here you can find the code: https://github.com/mkacper/erlangpl/tree/ets-cluster-view.


The feature seems to work quite well but it still requires some improvements like dynamically adding/removing nodes when they become alive or dead. This week I'm going to implement these missing improvements.

Kacper Mentel

unread,
Jun 19, 2017, 7:46:17 AM6/19/17
to BEAM Community

week 3

Last week I was mainly working on a feature which makes it possible to dynamically remove silent/dead nodes from the cluster view. I also improved React view by showing ETS allocated memory usage on a pie chart on the edge of a circle which presents a particular node.

This week I'm going to work on possibilty to dynamically add and show a newly connected node to the cluster on a graph in the React web UI.


W dniu poniedziałek, 5 czerwca 2017 15:16:20 UTC+2 użytkownik Kacper Mentel napisał:

Kacper Mentel

unread,
Jun 26, 2017, 5:06:36 AM6/26/17
to BEAM Community

week 4

In the previous week I implemented dynamic discovery of new nodes in the cluster. I also released the new version of ErlangPL 0.7.0.


Now I'm going to focus on the next view which is an ets node view. The view will show all the ETS tables present on a particular node. ETS characteristics, like e.g. memory fragmentation, will be encoded visually on the view.

Kacper Mentel

unread,
Jul 3, 2017, 6:28:02 AM7/3/17
to BEAM Community

week 5

Last week I started to work on the ets cluster view. I was trying out some of the approaches for the view I was thinking about (e.g. memory fragmentation).


This week I'm going to prototype and test some of the ideas for the view befere making a decision how the final implementation should look like.

Kacper Mentel

unread,
Jul 10, 2017, 5:40:00 AM7/10/17
to BEAM Community

week 6

Last week I was experimenting with ets node view (see discussion). I wrote the code which provides ETS related metrics like:

  • memory usage
  • size (number of elements)
  • access time (still in progress)

I tried to present these numerical metrics on the Vizceral graph (node-view-proto branch) but it's not the best way to visualise this kind of metrics.

This week I'm going to finish access time feature and try to show the metrics in a table in the React web UI. Maybe table view will be better than the Vizceral graph. The code of this view can be found here: https://github.com/mkacper/erlangpl/tree/ets-node-view-tab

Kacper Mentel

unread,
Jul 17, 2017, 7:20:50 AM7/17/17
to BEAM Community

week 7

Last week I finished the feature which provides ETS tables access time statistics. I was also working on the ets table view as a prototype of the ets node view. The main issue of the table view was the clarity of the table presents the metrics. The problem has been solved (I hope so) by styling the table and dynamic columns selection. The code is accessible on the ets-node-view-tab branch.

This week I'm going to choose the best solution for the ets node view implementation and if there will be enough time get familiar with The Lock Profiler in the Erlang VM.

Kacper Mentel

unread,
Jul 26, 2017, 10:40:23 AM7/26/17
to BEAM Community

week 8

Last week I chose the ets table view as the ets node view. I was also working on some details of the view, testing it's functionalities (especially measuring insert/lookup time) and wrote some property based tests.

This week I'm going to fix some bugs in the ets node view, write more tests for it, release version 0.8.0 and prepare ErlangPL Demo Day.

Kacper Mentel

unread,
Jul 31, 2017, 5:52:42 AM7/31/17
to BEAM Community

week 9

In the previous week I finished the ETS node view and prepared 0.8.0 release.

The plan for this week is to release the new version of the EPL and start to work on the third (last) view for the ETS tables.

Kacper Mentel

unread,
Aug 7, 2017, 5:31:18 AM8/7/17
to BEAM Community

week 10

Last week I released the 0.8.0 version of the ErlangPL. Click here for details. I also chaired EPL Demo Day (slides: https://www.slideshare.net/KacperMentel/erlangpl-demo-day-2-august-2017) and started to work on the third view for the ETS tables.

This week I'm going to continue work on the ETS details view. Here is the code of the feature: https://github.com/mkacper/erlangpl/tree/ets-detail-view.

Kacper Mentel

unread,
Aug 16, 2017, 11:50:07 AM8/16/17
to BEAM Community

week 11

In the previous week I was working on the ETS details view and preparing the 0.8.1 release. The release will fix epl_ets OTP 20 compatibility issue (PR #80) and the other bug connected with enabling/disabling ETS tracing through websocket (PR #81). I also drafted the GSOC Work Product Submission, ETS plugin documentation and Quick Start Guide for the EPL.

This week I'm going to release the 0.8.1 and final 0.9.0 version of the EPL (it will contain, among others, ETS details view) and work on all the "papers" I drafted last week.

Kacper Mentel

unread,
Aug 24, 2017, 11:01:54 AM8/24/17
to BEAM Community

week 12

Last week I released the 0.8.1 version of the ErlangPL. I was also preparing the 0.9.0 release, working on the documentation for the EPL and GSOC Work Product Submission.

This week I'm going to release the ErlangPL 0.9.0, finish all the "paperwork" and start to work on the blog post about ErlangPL use cases.

Kacper Mentel

unread,
Aug 28, 2017, 12:19:38 PM8/28/17
to BEAM Community

week 13

It was the last week of work under the Google Summer of Code program. ErlangPL 0.9.0 was successfully released and all the paperwork was done. The latest release introduces the ETS details view which shows all the traffic related to a particular ETS table.

I also completed the final GSoC evaluation and I've been waiting for the result. Here you can find the summary of my GSOC project.

Reply all
Reply to author
Forward
0 new messages