GNOME Logs: July GSoC progress report

Hello everyone,

In this blog post, I will be talking about various UI improvements to the event compression enhancement and further progress done on GNOME Logs shell search provider during past two weeks. Additionally, I am very happy to say that patches regarding event compression enhancement have been finally committed to the GNOME Logs git repository.

Allan Day of GNOME Design team has suggested some significant UI changes to the event compression feature. You can see them here. I will try to explain them one by one through the use of screenshots.

In the previous design, when the compressed event rows were expanded by clicking the compressed row header, it used to look something like below:


Here, the expanded compressed events were quite difficult to be distinguished from the other uncompressed events. Hence, a colour theme with a dark background for the expanded compressed events was definitely needed. After collaborating with Allan, I have come up with this new darker colour theme for the expanded compressed events:

Screenshot from 2017-07-16 13-50-11

As you can see, the background colour for both the expanded compressed events and the compressed header row is a bit darker than the previous design. The compressed events counter has a lighter background so that it becomes easy to see how many compressed entries are being shown currently. One thing I like about this design is that it enables the user to focus on the expanded compressed entries instead of the compressed row header, as the compressed header row is eventually a duplication of one of the row from the compressed events.

Another improvement to the expanded compressed events user interface is that previously they were lacking the hover functionality which made them look like they are unclickable. You can see the newly added hover functionality to the expanded compressed events below:


The detailed popover, which shows more information about an event, has also been improved. The new popover uses regular text everywhere instead of a mix of regular text and monospace. The column spacing has been increased and the row spacing is decreased as compared to the previous design. The new detailed popover looks like below:

Screenshot from 2017-07-16 15-28-34

Another significant UI change regarding event compression is the removal of tooltip showing the event message when hovering above a event row. This has been done as now we use a popover to show the detailed information including the event message.

A working video of the updated event compression feature can be seen here.

I will now be discussing about the progress done on GNOME Logs shell search provider, which is my second task for this year’s GSoC. I have been working on improving over my last year’s patches of the shell search provider. Things have changed quite a bit now in the current implementation of shell search provider as compared to previous year’s.

To start with, for each search invocation, the maximum journal events that are fetched as results during initial search is 5. Fetching such a low number of results shows a great improvement in performance, especially for rotating storage. In the GNOME Logs shell search provider results, the event message is shown as the result name and the process which generated the event is shown as the description of the result:

Screenshot from 2017-07-16 15-57-43

Another important change to the shell search provider is that now we show results only from the current boot. When a search result is activated, it’s detailed information is shown by a popover pointing to the journal event in the events list. An example of such a window showing detailed information about the activated result is shown below:

Screenshot from 2017-07-16 16-22-46

As you can see above, we show only the activated result in the events list and a popover containing detailed event information which points to the activated result. We also hide the category list in this new window.

You can get a clear picture of the entire working of the updated GNOME Logs shell search provider in this video.

Next week onwards, I will start working on my third task for GSoC which is developing a test suite for GNOME Logs. A test suite for GNOME Logs is very crucial to further increase it’s robustness. In the coming weeks, I will be discussing with my mentors (David King and Jonathan Kang) on the various test cases that need to be included in the test suite. I will be sharing details about it with you in the next blog post.

As always, let me know your feedback/suggestions about what you think of these new features of GNOME Logs in the comments ­čÖé