<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Kacper, amazing idea. <br>
</p>
<p>Without thinking too much I'd say: "writes per seconds", "reads
per seconds" are good metrics. Whether write_concurrency or
read_concurrency is enabled. <br>
</p>
<p>Good luck on this project!</p>
<br>
<div class="moz-cite-prefix">On 05/07/2017 12:42, Kacper Mentel
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAPa629VVUHZ2vxcosFiiOmPfYFQ0qk+fKEHX62iJxO0EcLFU=g@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">
<div>Hi! <br>
</div>
<div><br>
</div>
<div>My name is Kacper and I'm participating in this year's
edition of Google Summer of Code under BEAM Community. My
GSoC's project is an extension to Erlang Performance Lab.
Erlang Lab is an Open Source project aimed at analysing the
performance of Erlang and Elixir systems. The project
provides web-based visualisations of the analysis. It can
help developers to better understand their systems, observe
the system behaviour and identify weaknesses.</div>
<div><br>
</div>
<div>My work is focused on visualising ETS tables
performance. If you want to learn more about my GSoC project
or erlangpl here are the links to have a look at:</div>
<div><br>
</div>
<div><a
href="https://summerofcode.withgoogle.com/projects/#5695385677856768"
target="_blank" moz-do-not-send="true">https://summerofcode.withgoogl<wbr>e.com/projects/#56953856778567<wbr>68</a><br>
</div>
<div><a href="https://github.com/erlanglab/erlangpl"
target="_blank" moz-do-not-send="true">https://github.com/erlanglab/e<wbr>rlangpl</a><br>
</div>
<div><a href="https://github.com/mkacper/erlangpl"
target="_blank" moz-do-not-send="true">https://github.com/mkacper/erl<wbr>angpl</a><br>
</div>
<div><br>
</div>
<div>The extension to the EPL I'm going to implement will
deliver 3 views which can be seen as layers through which
you can look at the ETS tables. The idea is simple — if you
want to trace a problem related to an ETS table, you start
from the top-level view (the most general one) and go down
through the subsequent layers (views) until you reach the
one that will help you identify the source of the problem
you are looking for. The scheme of the views looks as
follows: cluster view (shows all the nodes in a cluster)
-> node view (shows all ETS tables on a node) -> ETS
details (shows more detailed information).</div>
<div><br>
</div>
<div>I've implemented the first view so far. Here is the
screenshot: <a
href="https://drive.google.com/file/d/0BzXT6yCa9ckQVzF0RnhibG9LbFE/view?usp=sharing"
target="_blank" moz-do-not-send="true">https://drive.goog<wbr>le.com/file/d/0BzXT6yCa9ckQVzF<wbr>0RnhibG9LbFE/view?usp=sharing</a></div>
<div><br>
</div>
<div>Now I'm working on the second view (node view). Here are
some screenshots:</div>
<div><a
href="https://drive.google.com/file/d/0BzXT6yCa9ckQTXNuTzYzVW00c1U/view?usp=sharing"
target="_blank" moz-do-not-send="true">https://drive.google.com/file/<wbr>d/0BzXT6yCa9ckQTXNuTzYzVW00c1U<wbr>/view?usp=sharing</a></div>
<div><a
href="https://drive.google.com/file/d/0BzXT6yCa9ckQS05QQ3pWeWI5bkU/view?usp=sharing"
target="_blank" moz-do-not-send="true">https://drive.google.com/file/<wbr>d/0BzXT6yCa9ckQS05QQ3pWeWI5bkU<wbr>/view?usp=sharing</a><br>
</div>
<div><br>
</div>
<div>It shows all the ETS tables from a node linked to their
owner's processes. The color of the tables reflects the
amount of allocated memory for the table (red -> the
heaviest, blue -> the lightest). This is only an example
how we can visualise ETS related data.</div>
<div><br>
</div>
<div>The most imprtant questions to you are: </div>
<div>- What is worth measuring and visualising in terms of ETS
performance? </div>
<div>- What kind of information can help developers to find
ETS related problems?</div>
<div><br>
</div>
<div>Here are some of my (and EPL team's) ideas:</div>
<div><br>
</div>
<div>- the amount of the allocated memory for a particular ETS
table,</div>
<div>- memory utilization/fragmentation - real size of a
particular table in bytes compared to the amount of the
memory allocated for that table</div>
<div>- number of rows in a partiuclar table</div>
<div>- some statistics about locks protecting ETS tables
(collected using lcnt module)</div>
<div>- mean acces time to the table in a unit of time</div>
<div><br>
</div>
<div>
<div>I would be very grateful for your feedback, suggestions
and ideas.</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Kacper</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</blockquote>
<br>
</body>
</html>