[Dune-devel] [GSoC] Dune-perftest report

Miha Čančula miha at noughmad.eu
Fri Sep 20 19:24:43 CEST 2013


Hello, again!

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.

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").

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.

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.

Thank you,
Miha


2013/9/16 Miha Čančula <miha at noughmad.eu>

> 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.
>
> 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.
>
> 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.
>
> 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
>
> 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.
>
> 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.
>
> Regards,
> Miha
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20130920/6827541c/attachment.htm>


More information about the Dune-devel mailing list