Your email address as well as other information about you and your company will be kept protected from abuse.
You can choose to have all submitted data removed from our system at any time.
Access to the information you submit will be controlled by you and your company.
All information sent to and from RRR|Online using your browser will be encrypted using SSL to ensure privacy.
We at RRR AB will monitor the applications at RRR|Online to make sure that all services are functioning properly.
We log all access to the system by storing email address, script name of url and timestamp. This information will only be used for overall statistical purposes and to track errors or abuse of RRR|Online.
Please send any questions or comments about our privacy policy to support@rrr.se.
1.3. Quick Start Performance Tuning
1.4. Quick Start Workflow Debugging and Active Links
1.5. The FREE version of rrrLog
3.3. Compiling the logfile with Make statistics
4.4. Show statistics on API/ESCL or SQL
4.5. Choose statistical grouping
4.6. Number of rows shown in table
5. Sample drilldown and logfile viewer
7. Search and Active Link Viewer
This documentation is intended to serve as a guide to using rrrLog.
The documentation will give you detailed information about all parts in the product.
If you think that relevant information is missing, or have any other comments or questions, feel free to send them to support@rrr.se.
Copyright 2002 by Real Refined Resource Scandinavia AB. All rights reserved.
You are entitled to print this documentation for your personal use.
The rrrLog application gives you statistical information about how your Action Request System is accessed by your users.
- Find the user activity that use up most system resources
- What form consumes most resorses
- Find the slowest API/SQL-call
- Find the most frequent API/SQL-calls
- Examine the activity on your server threads
No local installation is needed as the application is run on the web server at http://www.rrr.se.
You will need to turn the API-, SQL-, Escalation- and Filter-logging on your ARSystem Server into the same logfile, as rrrLog uses this logfile to produce the statistics. You may omit any of the API, SQL, Escalation or Filter data in the logfile to minimize the size of the logfile.
All information you upload to rrrLog, as well as the compiled statistical results are protected by SSL encryption and your email/password login to rrrOnline.
This information can be deleted by your company administrator at any time.
The first person of your company to register at rrrOnline will become the first Company Administrator.
Companies are grouped by your email address domain name.
The Company Administrator controls access to rrrOnline for all other persons of the same company.
1.3. Quick Start Perfomance Tuning
This is what you need to do to quickly get some results from rrrLog:
1. Turn on your API/SQL/Escalation/Filter-logging into the same logfile on your ARSystem Server
2. Typically you would want to have logging turned on until the logfile gets to be about 50Mb in size, or at least 5 minutes
(3. Register on rrrOnline and make sure that you have rrrLog Admnistration permission)
4. Enter rrrLog and open the Instance you want to work with (Default)
5. Upload your logfile
6. Run Make
7. Now you are ready to browse the statistics!
1.4. Quick Start Workflow Debugging and Active Links
This is what you need to do to quickly get some results from rrrLog:
1. Turn on your API/SQL/Filter/ActiveLink-logging in ARUser
2. Perform the operation you want to Debug
(3. Register on rrrOnline and make sure that you have rrrLog Admnistration permission)
4. Enter rrrLog and open the Instance you want to work with (Default)
5. Upload your logfile
6. Run Make
7. Now you are ready to search your logfile!
1.5. The FREE version of rrrLog
The limited FREE version of rrrLog can be accessed at rrrOnline only.
The limitations include two things only:
- Maximum of 50 API-calls per logfile
- Maximim of 500 SQL-calls per logfile
The limitations will not let you do statistical performance tuning, but will enable you to debug most of your workflow problems.
On this page you will mainly choose the instance you want to work with
If you have more than one ARSystem Server the Instance functionality will enable you to separate logfiles and statistics of these servers
If you have one server you will probably go straight to opening the Default Instance.
This will take open the Instance Page where all details about the instance can be accessed.
Here you can add new instances to rrrLog.
Just type in the name of the instance and press Create Instance.
Requires rrrLog Administration privileges!
Deleting an instance will delete all logfiles and statistical data that has been uploaded or associated with the instance.
Requires rrrLog Administration privileges!
If you have more than one server and want to creat multiple instances, you will probably want to rename the Default instance.
Requires rrrLog Administration privileges!
This is the details page of the instance you have opened
You will use this page to access and administer all parts of the current rrrLog instance
When you have uploaded your logfile and run Make, links to access the statistics will be shown here
When a logfile has been uploaded or statistics compiled, you can delete each individual information from this page.
In this section of the page, you will be able to upload the logfile from your server.
Type in the path of your logfile or use the browse-button to find your logfile.
Note that you can compress your logfile in advance, if you have a slow connection.
Supported compression formats are:
- WinZip (.zip)
- GnuZip (.gz)
- Compress (.Z)
When you have uploaded a logfile, you can delete it with the link supplied in the logfile section.
Do not delete your logfile before you have done a Make
In this section you are able to specify Form Grouping.
This can show you how much system time different applications use.
I.e. you could group the User and Group form together with all forms starting with the prefix Remedy. In this example, I have called the group Remedy.
You can add, change or delete a Form Group.
3.3. Compiling the logfile with Make statistics
Making the statistics will compile your logfile and store the result in a number of files that rrrLog uses to show the statistics in a browser. After the Make you will find links to the statistical pages at the top of this page.
Note that the compilation of a large logfile may take several minutes to complete.
If you follow the API Statistics or SQL Statistics links from the instance page you will get here.
You will not be able to access these pages before you have uploaded and compiled a logfile.
Note that the execution of an Escalation will be treated as an API-call and shown in the API-statistics.
At the top of the statistical pages you will find some overall statistics.
The description of the fields correspond to the API Statistics, but similar data is displayed for the SQL Statistics.
Field name | Description |
Logfile start Logfile end |
These fields shows the date/time of the first and last row of the logfile. The date is shown in the same format as it is stored in the logfile. |
Seconds from start to end | This is the actual number of seconds from between the first and last row in the logfile. |
Total system time of api-calls | This value shows how much time the system has spent processing api-calls. This can be a much higher number thean the above value if you have multiple server threads that has been busy. |
Number of calls | This shows the number of API-calls that clients has made to the server during the period of the logfile. |
api-calls per second start to end | This value shows how many calls your system has processed per second. |
api-calls per second system time | This value shows how many calls your system has processed per second of system time. This value can be interesting to track, as it is one way of measuring your systems performance. |
The table shows information of specific calls to your system.
The calls are grouped depending on your settings. The default for API-statistics is FORM+API as shown in this example.
If you do not change the sort order, the table shows the calls using most system resources at the top.
Note that the fields to the right of the Sample column vary depending on the Group statistics by setting.
Column name | Description |
Rownr | This column simply shows the number of the row. |
Systime | This column shows the number of seconds the system has spent processing this specific call. |
Sysperc | This field shows the percentage that the system has spent processing the call. In this example you have one API-call to one form that uses more than 20 percent of the system resources. |
Numcalls | This shows how many times this call has been issued. |
Avarage Maximum Minimum |
These values shows the avarage, maximum and minimum length in seconds of the specific call. |
Samples | This important column is the entry point when you want to view details about a specific call. Up to 10 links to samples will be shown here with the slowest call to the left. |
Form | This column shows the form that the call was executed against. Sometimes this field is blank, indicating a call that was not issued against a specific form. I.e. the api-call GLS (ARGetListSchema) will return a list of accessible forms for the calling user. |
API | This column shows the short alias for the API-call. If you drill down on a sample, the full name of the call will be shown. This i a list of the most common calls: GLE - ARGetListEntry is an ordinary query issued by a user. It can also be an active link doing a Set Fields from a Form. CE - ARCreateEntry is a submit operation. This can be caused by a user presing save or an active link with a push field. As many filters could be triggered inside this call, it can be quite slow. SE - ARSetEntry is a modify operation. This could also be a slow call if many filters executes that trigger on modify. GLEWF - ARGetListEntryWithFields is usually a table field doing a refresh, but can also be an Open Window action doing a search. GE - ARGetEntry is the retrieval of a single entry. Usually before it is displayed in the client. GME - ARGetMultipleEntries can be an export of multiple entries. This call is triggered when the user does reporting. |
SQL | This column shows the SQL-code that has been executed. To be able to group the SQL-code, all numbers greater than 9 and all character values has been stripped and replaced by nnn or 'xxx'. To find out exactly what caused the specific SQL-code, you will probably need to drill down and look at the Samples. |
User | Sometimes it can be interesting to se how a specific user id has used the system. |
Filter | Some of the SQL-code can be tracked to a specific filter. |
Formgroup | If you have specified Form Groups, this field can show you how much system time different parts of your application has consumed. |
Most columns in the statistical tables can be used for sorting. Just click on the column you want to sort on.
4.4. Show statistics on API or SQL
Choose API or SQL from the selection list.
4.5. Choose statistical grouping
Choose between the grouping choises in the selection list.
Choise | On | Description |
APICALL | API | This choise groups the data by API-call regardless of the form connected to the call. |
FORM | API/SQL | This shows calls grouped to the form they were issued against. Note that a lot of forms can be accessed within a call. I.e. a SE (Modify) could trigger a lot of filters that pushes/sets data to/from other forms. |
FORM+APICALL | API | This is the default setting for the API statistics. It will group data combining FORM and API-call. |
USER | API/SQL | This grouping will let you see what users does the slowest queries or use the most system time. |
FORMGROUP | API/SQL | If you have specified Form Groups, this will show you how much system resorces different applications/parts of your system use. |
SQLCODE | SQL | This sorts that statistic on specific SQL calls. This can be useful to find the slowest atoms in your system. Drilldown using the sample links to see the exact code and what filter, form or API-call that generated the SQL-code. |
FORM+SQLCODE | SQL | This groups the SQL-code under a specific form. The SQL-code is usually quite unique, so this setting will show you a similar result as the SQLCODE grouping. |
FILTER | SQL | Some of the SQL-calls can be tracked to a specific filter. This can help find the slow filters in your system. |
4.6. Number of rows shown in the table
This field is used to set the number of rows to show.
Type a 0 (zero) to get all existing rows..
5. Sample drilldown and logfile viewer
On each entry in the statistical tables you will find one or more samples.
Click on the number 0-9 to drilldown and see the actual logfile entry.
The samples are sorted to show the slowest call on position 0.
Note that samples are not shown for calls with zero execution time, so the number of sample links can be lower than the number of calls shown.
If you manually open a logfile, you will find that many API-calls are intermixed, and it is quite hard to deduce useful information from it. The logfile viewer will show one API-call at a time, filtering all other rows in the logfile.
This first example shows a SE (ARSetEntry) call. This is usually an ordinary Modify operation done by a user.
The different rows are color coded to indicate if they are API, Filter or SQL data.
You can use various links to Hide different parts of a call.
When you have hidden one or more row type, you can show them again.
In the following example a GLEWF (ARGetListEntryWithFields) call is shown.
This typically indicates a Table Field Refresh, but can also be an Open Window action that performs a search.
This API-call does not trigger any filters, and consequently no blue FLTR rows are shown.
Finally, you can follow the Single User/Search link that will take you to a chronological list of all API-calls made by the current user.
The thread statistics will show you how busy each of your server threads has been during the log period.
Important columns show how long the gap (idle time) between consecutive API-calls has been. If you have a high percentage of calls without, or with a very small gap between them, you may want to increase the number of threads of that type.
7. Search and Active Link Viewer
This page lets you search for API-calls for a specific User, Form, API-call, etc.
You will also be able to do a Free Text Search to find API-calls where your text is found in any of the related SQL or FLTR data.
If Active Links are included in your logfile, they will be displayed here.