<div dir="ltr"><div><div>Hello, again!<br><br></div>Since the last email, I added some more views to the website. One can see test results by test name and optionally by mode, or the results from individual test runs. Each test run is identified by a UUID. There is another page that shows the number outliers for each test/computer combination. The tolerance for classifying a measurement as an outlier can be specified with a slider in terms of sigmas. If you wish, I can add some more explanation for non-physicists. <br>
<br></div><div>I would really like to know the server configuration this will run on, so I can adapt it before the official end of coding. As I said, I used PostgreSQL and Python's CGI interface, so there should be no compatibility problems. I intentionally made the server part completely separate from the client, so that it can be deployed separately. If you wish, I can move it into a separate repository, which would simplify deployment (just run "git pull"). <br>
<br></div><div>There is also the question of uploading files. I implemented HTTP upload, which can be protected with a simple username/password combination. This may not be as safe as key-based ssh, but I don't think this will be a high-profile hacker target. However, if you still want ssh, I will add upload and receive scripts, just like in autobuild. I can do this after the pencil-down date, but I think it should be quick enough if I follow the autobuild model. <br>
<br></div><div>Over the weekend, I will document the server code as well, and add descriptions of the endpoints. I will also implement secure data upload. If you want me to do something else before the pencil-down date, please tell me now. In any case, I am willing to continue my work until October, when I start my regular job. <br>
<br></div><div>Thank you,<br></div><div>Miha<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/16 Miha Čančula <span dir="ltr"><<a href="mailto:miha@noughmad.eu" target="_blank">miha@noughmad.eu</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>In the last week, I finished the local part of the project and started working on a central server, similar to how dune-autobuild works. <br>
<br>On the local side, I added another generated HTML file that shows the last results of each test. There is also easy navigation between different tests and different modes (compile, run, both) within each test. I added a new 'upload' module that sends data (in the form of plain text files) to the server. All the code is documented, and there is some user documentation generated with Doxygen. <br>

<br></div>On the server side, I started with receiving files, which is now done using an unprotected HTML upload. Then I added a separate program for processing the files into a database, which can be called either remotely or from a cron job. It is separated from the upload, so we can upload files using some other means, such as ssh. Finally, there is the program to visualize the data using HTML templates. <br>

<br>The server code is in a separate directory (dune/perftest/server) and can be just copied into a cgi-bin directory of a web server. I'm using lighttpd for local testing, but it should work anywhere. The database used is Postgresql, which I think is used for autobuild as well, so we could use the same database. The server scripts create their own db table, so there isn't much setup required, and there is a single file ('common.py') with database- and server-specific configuration. I'm <br>

<br></div>Today is suggested pencil down, which I will not be able to meet. However, I made sure that everything is already documented, and I think there is enough error checking. So I will focus on the server this week. Considering other parts already work, the main thing will be visualizations. First, I will add the same ones we do locally: compile and run results, grouped by test. I have also started one that shows all the results of a single test run. <br>

<br>If there is time, I would like to adapt the client to upload using ssh. This will be very similar to the way autobuild works, so I don't expect much trouble. However, I don't think I'll be able to test it on the real server, so I would like some help in this regard. In any case, I will lock down the current HTTP upload with authentication. <br>

<br></div>Regards,<br>Miha<br></div>
</blockquote></div><br></div>