LOG MANAGER USER GUIDE

1 INTRODUCTION

The Log Manager is the user interface to the Log Service repository. It provides an intuitive environment to access the TDAQ log messages based on a search criteria.

2 LAYOUT

The primary requirement for the Log Manager has been user-friendliness. To this end, the design of the user interface has focused on compactness. Indeed, this tool consists of a single window with six distinctive areas, as shown in Figure 1.


Figure 1: Log Manager layout.


The six areas are:

3 MENU

3.1 File

Figure 2 shows the different options in this menu:


Figure 2: File Menu

3.2 Columns

This menu lists the log messages fields mapped as columns in the Log Message Table. Users can choose which columns are shown by enabling or disabling the check-box that accompanies the field name. By default, Host and Parameters are not displayed.

Figure 3: Columns Menu

3.3 Configuration

Figure 4 depicts the options that make up the Configuration menu.

Figure 4: Configuration Menu


4 PARTITION TREE

This tree groups the log messages in a hierarchical structure having the Partition and User names as top and middle nodes respectively, and the Run Number as the leaf objects. Clicking on the dot/circle by the Partition or User name or double clicking the node name expands the node to visualize its children.

When the mouse is right clicked, a pop up menu appears with two options: a Refresh button which updates the Partition Tree and a Get msgs from partiton:user:session button which retrieves the messages for an entire partition, partition and user name or run number and updates the Log Message Table with the new selection.

The Log Manager is multi-threaded in nature. Accessing the Log Service Database is done in independent threads. Thus, users can interrupt the Log Manager when it is retrieving messages by simply selecting a new Run Number. In other words, users need not wait for a DB access to finish. This also applies when updating the Log Message Table.

5 LOG MESSAGES TABLE

This table (Figure 5) displays the log messages that meet the search criteria. The columns that form the table can be added or removed via the Columns menu.

Figure 5: Log Message Table.

If a log is made up of multiple ERS chained messages, a '+' button is shown in the first column. Upon clicking on it, a '-' button appears and the chained messages are expanded and numbered as they have been issued in the TDAQ system. The chained messages can be hidden again by clicking on the '-' button.

By default, messages are sorted by time. The sorting criteria can be modified by clicking on any of the the Table column headers. The first time the header is selected, messages are sorted in ascending order, whilst the second reverses the order. Sorting does not take into account chained messages as they cannot not 'live' independently but are always part of the root message.

Pagination is enabled when the number of messages that match a search criteria is larger than the number of messages displayed in the Table, by default 1,000. The pagination buttons at the bottom of the Table facilitate the navigation through the messages. One can move forward to the next or last page or move backward to the first or previous page. In between the buttons there is a dark background box with the messages currently being displayed (between brackets) as well as the number of messages that meet the search criteria.

Whenever the Log Service DB is accessed and for the duration of this connection, the Database Access progress bar becomes active and starts moving sideways. In addition, the Database Connection text field specifies the nature of the ongoing task, for example “Retrieving logs from the offline database...”. These two elements are useful because searching through the database may take several minutes during which the Log Manager may seem not to do anything.

A mouse right click pops up a menu with two options: Refresh and Focus. The first updates the Table with the current contents of the Log Service DB. The second option refreshes the Table with the current search criteria and finds/focuses whichever row had been selected. This helps put into context unique messages.

6 SEARCH CRITERIA

Two Search Criteria panels are available: one associated to the Partition Tree, and the second associated to the Log Message Table.

6.1 Partition Tree Search Criteria

This panel is aimed at facilitating the search of a given Partition, User or Run Number. This feature was introduced as the number of hidden nodes in the Partition Tree Panel grew very rapidly.

One can enter either a Partition or a Partition and User combination. Note that a User must always be associated to a Partition. This is enforced by the input format “Partition.User”. If found, the Log Manager expands the node associated to this search criteria, thus revealing its children objects. When the Log Manager is launched the ATLAS partition and crrc user are selected by default as this feature is foreseen to be mainly used in P1.

The Run Number can also be specified either with a Partition, a Partition and User combination or on its own. In either case, the parent node associated to the Run Number is expanded and made visible and the Log Message Table updated with the logs belonging to the Run Number.


Figure 6: Search criteria applied to the Partition Tree.


6.2 Log Message Table Search Criteria

This panel (Figure 7) allows users to refine the search criteria used to retrieve messages from the Log Service DB.

Figure 7: Search criteria applied to the Log Message Table.

By default, only messages with Severity Fatal and Error are selected. However, any combination of severities can be chosen by holding the Ctrl key and clicking on any entry in the list box.

Messages can be filtered on a time basis with the “From...To” spinners. By default, the values shown are the date and time when the Log Manager is launched. If these values are not modified, the From or To times are disregarded. Increasing or decreasing the seconds with the up and down arrows automatically updates the minutes, hours, days, etc. One can directly modify any of these date and time fields by setting the cursor on them and typing the desired value. Right clicking on the “From...To” label pops up an “Enable/Disable” menu that allows users to disable the time criteria altogether.

The pattern for text-based fields can either refer to literal expressions or regular expressions. Whereas the former case is the default option, users can select to enable regular expressions by right clicking on the desired field label and choosing Regular Expressions on the pop up menu. The colour of the parameter label changes to a blue hue.

6.2.1 Literal Expressions

The pattern entered in case-sensitive text fields is automatically wrapped with the SQL 'anything-wildcard', thereby accepting messages that contain this pattern anywhere in the parameter. For example, “EFD” yields entries that contain both “EFD data not flowing: ...” and “Application EFD-12:...”. To do a search with multiple patterns on a single field, one must use the wildcard “%”. Thus, “ROD%failed” retrieves “ROD configuration check failed .... retrying” but not “The size of the ROD fragment does not match the information in the ROD trailer:..”.

The criteria in the text-based fields can be negated with the negate wildcard '!'. For example, to search for all messages that do not contain the text “RootController” in the Message field one simply needs to enter “!RootController”.

By default, the criteria parameters are ANDed. Users can also apply OR logic by appending the text with the wildcard '|'. For example, if the Message field is "|Calibration" and the Application field is "TTC", the search query is parsed as 'Message=="Calibration" OR Application=="TTC"'. Note that if the the Message field is "Calibration" and the Application field is "|TTC", the query is parsed as 'Message=="Calibration" AND Application=="TTC"'. This is in accordance with the sequential order in which the logical operator are parsed, which is as follows: Message, Host, Qualifiers, Application, Params, Opt Params, and Message ID.

The negate and OR operator can be combined as in '|!'.

To start a text-based field with the characters '|' and/or '!' append the text with '\', as in '\!', '\|' or '\|!'.

6.2.1 Regular Expressions

Regular expressions provide a concise and flexible means for matching strings of text, such as particular characters, words, or patterns of characters. The following links can be consulted for a turorial on regular expressions. http://www.regular-expressions.info/oracle.html http://www.grymoire.com/Unix/Regular.html. Typical simple usages include:

^pc-tdq-mon: all the host names that start with 'pc-tdq-mon'.

08.cern.ch$: all the host names that end with '08.cern.ch'.

*mon*: all the monitoring hosts.

*mon*|*pix*: all the monitoring or pixel hosts.

Fields with the Regular Expressions enabled can also be ORed as explained in the previous section.

Once the search criteria has been specified, the Filter button must be clicked for the Log Manager to update the contents of the Log Message Table.

7 CONTENT DETAIL PANEL

Messages shown as rows in the Log Table may be difficult to read when their text size is large. To improve 'visibility', users can click on the message, which breaks down its fields in the Content Detail Panel, as shown in Figure 8.

Figure 8: detailed view of a log message.

In addition, this panel can also show Error, Warning and Information messages, such as the status of a Log Service DB connection, the validity of certain operation, etc. (Figure 9).

Figure 9: the Content Detail Panel showing a warning and some information.

A mouse right click pops up the Clear button, which erases the contents of this panel.