<div dir="ltr"><span id="docs-internal-guid-a2d915f8-a296-242a-4ba0-3fc5dce1bb85"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Hi, Stefano, Stuart and the Debian community! </span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br></span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">I don’t know how things are going with “clamouring hordes wanting to pick Debian Metrics Portal project”, but this project definitely worth it :)</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">A couple of days I’m thinking about it and now I have some ideas about details of it, as well as I have some unclear parts.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><h2 dir="ltr" style="line-height:1.15;margin-top:10pt;margin-bottom:0pt">

<span style="font-size:17px;font-family:'Trebuchet MS';color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Prelude:</span></h2><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Most of the modern data visualization software gathering data with agent-server architecture (Munin, Newrelic) or with some entry-point for data (Graphite, RRDTool) local or via web.</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">The choice of approach is due to the nature of the data. For example, the first option is great for gathering information about the the server environment (load state, performance) since it provides a plugin-based agent, but the second is better to get information from third-parties, because actually represents API.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">In our case, we are faced with a very different data. As I understand it, we need to be able to show "normal" data from the database in which there is an time-value point and not regular points from some file with the number of the GSoC proposals for period or a pie chart of using different versions of Debian.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Besides this data is represented in the different formats - it's not homogeneous. For example RRDTool clearly defines what is to be received (in some cases with specified intervals), that allows it to easily handle incoming data and later apply filters and customize displaying according to the configuration.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">The task is complicated by the fact that not everyone who already place stats on <a href="https://wiki.debian.org/Statistics">https://wiki.debian.org/Statistics</a> will be willing to provide data in Debian Metrics Portal (DMP) format or convert it. In other cases it is simply not realistic, such as the disk I/O metric, when in addition to that user is responsible to send one to DMP, he is also has to get it from somewhere (in the sense that if we are replacing Munin with DMP).</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">In other hand, such data sources as a RDB is a little easier to handle. They already have some scheme so we can just let user specify which column is a timestamp and which is value or even do it ourselves.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">The </span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">main types of data sources</span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> for charts (from </span><a href="https://wiki.debian.org/Statistics" style="text-decoration:none"><span style="font-size:15px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://wiki.debian.org/Statistics</span></a><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">):</span></p>

<ul style="margin-top:0pt;margin-bottom:0pt"><li dir="ltr" style="list-style-type:disc;font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap">RRDTool storage<br class="">Example: <br class=""></span><a href="https://ftp-master.debian.org/stat.html" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://ftp-master.debian.org/stat.html</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>

</li><li dir="ltr" style="list-style-type:disc;font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap">flexible (which means that the owner of the graphs is not difficult to go to our specific format)<br class="">Example:<br class=""></span><a href="https://bugs.debian.org/release-critical/" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.debian.org/release-critical/</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br class="">

</span><a href="https://buildd.debian.org/stats/" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://buildd.debian.org/stats/</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br class="">

</span><a href="http://davesteele.github.io/debian-rfs-stats/" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://davesteele.github.io/debian-rfs-stats/</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>

</li><li dir="ltr" style="list-style-type:disc;font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap">RDBMS<br class="">Example:<br class="">UDD<br class="">and I guess this is also from DB: </span><a href="http://asdfasdf.debian.net/~tar/bugstats/" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://asdfasdf.debian.net/~tar/bugstats/</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>

</li><li dir="ltr" style="list-style-type:disc;font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Plain text<br class="">Example: <br class=""></span><a href="http://qa.debian.org/watch/uscan-status-stats.txt" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://qa.debian.org/watch/uscan-status-stats.txt</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>

</li><li dir="ltr" style="list-style-type:disc;font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Undefined. Sources that may be available in hard-to-parse format, like HTML page.<br class="">Example:<br class=""></span><a href="http://ircbots.debian.net/factoids/stats.php?q=recently-created" style="text-decoration:none"><span style="background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://ircbots.debian.net/factoids/stats.php?q=recently-created</span></a><span style="background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>

</li></ul><br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><h2 dir="ltr" style="line-height:1.15;margin-top:10pt;margin-bottom:0pt">

<span style="font-size:17px;font-family:'Trebuchet MS';color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">I would suggest:</span></h2><br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">1.</span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Architecture. The agent-server is not optimal, since we will not always have the opportunity and the need to run the agent on the server, in most cases, this approach will be redundant (eg UDD). </span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Data-entry-point also has some trouble spots, but to solve them will be much easier.</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> </span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">So, we will provide local and network entry points (DMP API).</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Example use cases (actually DMP API </span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">wrappers</span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">):</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">Console:</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Create simple shell script.</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">$ dmp-client add <metric_id> <value> <timestamp></span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">Web:</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Run lightway web server on non-80 port for web interection.</span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap"></span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">$.ajax({</span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> type: "POST",</span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> url: “<a href="http://192.168.0.100:4242/dmp-rpc/">http://192.168.0.100:4242/dmp-rpc/</a>”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> data: {</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>“metric_id”: “website_visit”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>“timestamp”: “auto”,</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> },</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">});</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">Remote:</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Trivial way in most software is a open socket. Available local and remote:</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">echo "users_online 42 <timestamp>" | nc -q0 192.168.0.100 4241</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">2. Allow multiple display formats (adjusted for certain metrics, depending on the data type): charts, diagrams, etc.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">3.  In addition to DMP API, collect data as follows:</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">In the admin web interface user set a “path” to data: it could be a plain text file (via ftp, http or local), RRD database, mysql database, etc. With the given path we are trying to get that data and ask user in our super-web-gui-import-tool to specify how we should treat “columns” (let’s say separated by “,”) e.g. as a  timestamp or value. Or do it ourselves if we know that format (like RRD). It’s like how import products from any .xls table works in my software.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Next, user set the frequency of data synchronization and enjoying graphs in DMP and in his system simultaneously. This also allow us to get data from things like Munin without any problems and no need to change anything in the existing system.</span></p>

<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Then user may move to the DMP API method, which is better, without loosing data. </span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">This raises the question about the duplication of data.</span></p>
<p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">For example, this method is applicable to UDD source. However, copying all the data from the remote database to DMP is excessively. But every time directly receive data from UDD is </span><span style="color:rgb(0,0,0);font-family:Arial;font-size:15px;line-height:17.25px;white-space:pre-wrap">also</span><span style="background-color:transparent;color:rgb(0,0,0);font-family:Arial;font-size:15px;white-space:pre-wrap;line-height:1.15"> not flexible.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">4. Provide support for real-time graphs for metrics such as "Online right now", which is not required to store a lot of data, since it is necessary to analyze only the current state at the current moment.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">5. DMP API - not only the entry point to send data. It also a way to querying it.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">6. Maybe provide an event-collector API for event-based data, so DMP would be also a open-source alternative of Google Analytics-like software.</span></p>

<br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">So, all this should satisfy all data source types with more or less things to code. </span><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">But i</span><span style="font-size:15px;line-height:17.25px;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial;background-color:transparent">n some cases, the owner will still have to go to the new format.</span></p>

<div><span><br></span></div><div><span>-</span></div><br><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt">

<span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">In short, I have a misunderstanding with how to receive/gather data. How to add metrics in admin-panel, store them and display - I’ve done it before and I have some ideas about it.</span></p>

<br><span style="vertical-align:baseline"></span>Some feedback will help me to begin work on prototype (not just a script that uses matplotlib to graph some metrics, but a web app as a proof of concept). I think this project has the potential to become a great open-source solution to help Debian and other projects make their software better by analysis their stats.</span><div>

<br></div>-- <br><div dir="ltr"><div style="font-family:arial;font-size:small">Regards,</div><div style="font-family:arial;font-size:small">Nikolay.</div></div>
</div>