Statistics Server Properties




<file directory>

The statistic server stores a data file and a backup copy of earlier data files.

The data file is called The backup copy is called statistics.<number>.data. <number> is a time code which shows the time when the back up was generated.

When the statistic server is started, the datafile is loaded and the statistic server is initialised. If the load is successful, a new backup of the latest valid data file is stored. A total of 10 backups are stored. When a backup is stored the oldest of the 10 copies is deleted.

Corrupt datafiles will be renamed to <filename>.corrupt. These files can be used to analyze the load error or to re establish important statistics.

If the data file is inconsistent or corrupt the back-ups, starting with the latest, will be loaded instead until the datafile can be loaded successful. If no backup can be loaded, the statistics server will start with an empty database.

The reason for a corrupt of inconsistent data file could be for example, that the writing of the file to disk did not succeed. For example, if there if no space left on the disk. Another typical reason is that the PortalProtect server is stopped without PortalProtect being shutdown correctly.


In this example the PortalProtect statistics server will store data files in the directory where PortalProtect was started.


<time in milliseconds>

The statistic server collects statistics from the configurations server which is started in statistics.sources. The configuration servers collect temporarily the statistics from the respective servers which are connected and the statistics server collects statistics from the configuration servers.

In this example the statistic server collects statistics from statistics.sources every 60 seconds.


<host:port> [<,|;> host:port […]] or protocol://hostname:port

The statistic server works closely with the configuration servers. A configuration server receives at definite intervals statistics from each of the servers which are connected to it. The configuration server stores the collected statistics in a buffer. When a statistics server gathers statistics from a configurations server, this buffer is emptied. The statistics server handles the data, by grouping the measurements in time slots.

Note that the measurements are received asynchronously. Therefore the statistics can be changed in the past also. A server which has been disconnected can have collected statistics over time. When the connection is re-established the statistic server will receive the statistics and group this information also back in time.
<host:port> corresponds to the configuration server property statistics.server.listenurls.

The protocol, if specified can be either nio, tcp or local –see the description of the config server's server.listenurls for detailed info on the differences. If no protocol is specified, tcp:// is assumed.


In this example the statistic server connects to the configuration server localhost:21111 and collects gathered statistics from here.


<List of URLs>

List of URLs to listen for connections from configservers – The URLs have the following format:

local://port – Local queue-based connection, requires 1 thread per connection, only works in the same JVM, but much faster than using sockets.
tcp://[hostname:]port – TCP/IP blocking sockets – requires 2 java threads per connection.
nio://[hostname:]port – TCP/IP nonblocking (java nio) sockets – does not require any extra threads.
nios://[hostname]:port[?params] – Like NIO, but with SSL encryption

For nios connections, the following parameters can be specified;
keystore – Filename of keystore – default is /ptskeystore
keystorepassword - Password for keystore
keystoretype – Type of keystore, default is JKS
enabledciphersuites – List of enabled cipher suites, if not specified, the Java default ones are used.

statistics.server.listenurls=tcp://21111 – Listens on port 21111, using TCP blocking sockets
statistics.server.listenurls=nio://;local://21111 – Listen on the specified IP address and port, using nonblocking sockets, and also listens for local connections from other servers in the same JVM on port 21111.


A comma separated list of classnames which will be notified of any statistics changes – these can be used to e.g. transmit alerts if values exceed certain thresholds. Each class must implement the interface dk.itp.managed.service.StatisticsListener

resolution.secondinterval, resolution.secondcount, resolution.minuteinterval, resolution.minutecount,
resolution.hoursinterval, resolution.hourscount, resolution.daysinterval, resolution.dayscount

<Interval in seconds>
<Number of timeslots>

These properties can be used to change the default resolution of the statistics to a more detailed or more course grained value – increasing the resolution results in higher memory usage, while lowering the resolution also lowers memory usage.

E.g. if you do not need per-second statistics, set resolution.secondcount to 0 to disable it – the same can be done with the resolution.minutecount but at the cost of not being able to view statistics more detailed than per hour.

Refer to the description at at page of how the statistics work, including a description of how the timeslots work and what they contain.
There you can also check what the default intervals and count values for the different types of timeslots at page for more information.

pdf.reports<report1;report2;....> - default: "PortalProtect Overview PDF Report,statreport.xml,8h,1d,1w,1m,3m,6m"

This entry contains one or more reports. For each report, the following is defined:

<title>,<filename>,<list of possible durations>

The list of durations is a number followed by h for hours, d for days, w for weeks and m for months – the report will be generated from the specified time backwards in time til the current time. If you need different time periods, e.g. generation for a week 3 days in the past, you can do so using the command-line administration client, more information on page .

This property defines which statistics reports are available for generation from within the statistics server. Any reports defined here are available for generation and download via the administration GUI.

You can create your own report templates and define what data you are interested in, and which reports you wish to be able to generate. Refer to the PDF report creation section on page for more information about the report definition xml files.

PortalProtect contains statreport.xml preinstalled in the distribution .jar files, any other XML template must be located on disk, and the filename must point to that location. The file can also exist in the classpath, e.g. by specifying /dbusage.xml PortalProtect will seach the classpath for the file.

"Database Usage,dbusage.xml,1w,2w,3m" – allow the user to generate a database usage report, for the last week, last 2 weeks and last 3 months.

© Ceptor ApS. All Rights Reserved.