docs.roxen.comView this page in a printer friendly mode
DocsRoxenWebServer 4.5Administrator ManualPerformance
Copyright  2012, Roxen Internet Software
Suggestions, comments & compliments

Average Profiling

Average Profiling

Average profiling is a profiling tool for RXML applications. The tool counts calls to tags and modules and accumulates the time spent on each call. The registrated data can later be viewed with a web based user interface.

To enable avarage profiling the webserver has to be started with the -DAVERAGE_PROFILING flag. If the flag is given, profiling will be enabled and an extra module in the administration interface will be loaded. The extra module, Average Profiling, provides some task buttons and a web based interface for the profiling data.

New profiling data will be stored in the webserver's memory until the Dump to database button is pressed. Then the data will be stored in an SQL database. Every click on the dump button will create a new session.

Average Profiling Module

The settings tab have these options:


The mount point for the user interface.


The database to store and read information from.

The information tab has some tasks buttons, they are:

Clear database

Clear the entire database table.

Dump to database

Save new profiling information to a database in a new session.

Clear profiling information

Clear new profiling information from memory.

User Interface

The user interface is reached by clicking on the link on the modules information page.

The interface consists of two parts; the selection and the result part. The selection part is used to select what log entries to list in the result part. The following selections are available:


Select events for a special session. Each time the dump to database button is pressed a new session will be created.


Select events for a specific virtual server.

File Glob

List only those files that matches this glob pattern.

Event Class

Select events with a specific event class.

Event Name

Select events with a specific event name. This select box can contain lots of entries. If the event class is selected first, only the event names in that class will be listed.

Sort by

Select what column to sort by.


Select the sort direction.

Group by

Select what column to group by. It is possible to group by file, event class and event name. Grouping is a technique to combine entries with common values on the group by column. Numerical columns are accumulated and textual columns are hidden.

An event is something that has been timed, for example to generate the result from a tag. An event belongs to an event class, for example the event gtext belongs to the class tag. The event classes and their content is listed below:

Event ClassGenerated FromExample Event Name


Directory Modules

Directory Listings


Emit Plugins



RXML Entities



Extension Modules

Scripting: Pike script support


Filter Modules

Tags: Javascript Support


Location Modules

SiteBuilder: Content Editor


Various overhead



Tag Modules


The result part of the user interface consists of a table containing the matched entries. A description of each column is given below:


The session.


The virtual server name.


The file the event occured in.

Event Class

The event class.

Event Name

The event name.


The number of calls to the event.

Real (ms)

The total real time in milliseconds for the calls.

Av. Real (ms)

The average real time in milliseconds for each call.

CPU (ms)

The total CPU time in milliseconds for the calls.

Av. CPU (ms)

The average CPU time in milliseconds for each call.