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:
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!
Last week I created two PRs:
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.
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.
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.
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.
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.
Last week I was experimenting with ets node view
(see discussion). I wrote the code which provides ETS related metrics like:
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
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.
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.
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.
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.
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.
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.
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.