readme.html 5.79 KB
Newer Older
Gaston Dombiak's avatar
Gaston Dombiak committed
1 2 3 4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
5
	<title>Load Statistic Plugin Readme</title>
Gaston Dombiak's avatar
Gaston Dombiak committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
    <style type="text/css">
        BODY {
            font-size : 100%;
        }
        BODY, TD, TH {
            font-family : tahoma, verdana, arial, helvetica, sans-serif;
            font-size : 0.8em;
        }
        H2 {
             font-size : 10pt;
             font-weight : bold;
        }
        A:hover {
            text-decoration : none;
        }
        H1 {
            font-family : tahoma, arial, helvetica, sans-serif;
            font-size : 1.4em;
            font-weight: bold;
            border-bottom : 1px #ccc solid;
            padding-bottom : 2px;
        }

        TT {
            font-family : courier new;
            font-weight : bold;
            color : #060;
        }
        PRE {
            font-family : courier new;
            font-size : 100%;
        }
        .events TH {
            font-size: 8pt;
            font-family: verdana;
            font-weight: bold;
            text-align: left;
            background-color: #eee;
            border-bottom: 1px #ccc solid;
        }

        .events .event {
            font-weight: bold;
        }

        .events TD {
            border-bottom: 1px #ccc dotted;
            vertical-align: top;
        }
    </style>
</head>
<body>

<h1>
60
Load Statistic Plugin Readme
Gaston Dombiak's avatar
Gaston Dombiak committed
61 62 63 64 65 66 67 68 69 70 71 72
</h1>

<h2>Overview</h2>

<p>
The statistic plugin prints usage information of the database connection pool, thread pool used for processing
incoming traffic and the NIO networking layer.
</p>

<h2>Installation</h2>

<p>
73
Copy the file, &quot;statistic.jar&quot; into the plugins directory of your Openfire installation. The plugin will
Gaston Dombiak's avatar
Gaston Dombiak committed
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
then be automatically deployed.
</p>

<h2>Configuration</h2>

At the moment there is no new page to configure the plugin. However, the plugin can be configured by setting
a few system properties. Read the "Using the Plugin" section to learn which system properties to use.

<h2>Using the Plugin</h2>

<p>
The plugin will collect information every few seconds and will print the collected information to a log file
every minute. The log file is a comma delimited file that can be easily processed in Excel. You can configure
the plugin by setting the system properties shown in the table below.
<p>

<table class="events" cellpadding="3" cellspacing="1" border="0">
    <thead>
        <tr>
            <th>System Property</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <span class="event">statistic.frequency</span>
            </td>
            <td>
                Number of milliseconds to wait before collecting information. Default value is 5000 (5 seconds)
            </td>
        </tr>
        <tr>
            <td>
                <span class="event">statistic.filename</span>
            </td>
            <td>
                Name of the file to use to store the statistics. The file will always be stored in the logs folder. Default value is "stats.txt".
            </td>
        </tr>
        <tr>
            <td>
                <span class="event">statistic.connectionmanager</span>
            </td>
            <td>
                True if statistics will be collected for Connection Managers traffic or false when statistics will be collected for clients directly connected to the server. Default value is "false".
            </td>
        </tr>
    </tbody>
</table>

<p>
The format of the log file is the following:
    <ol>
        <li><b>Timestamp</b> - Timestamp when the data was collected</li>
        <li><b>DB min</b> - Minimum number of connections the pool may have</li>
        <li><b>DB max</b> - Maximum number of connectiosn the pool may have</li>
        <li><b>DB current</b> - Current number of connections the pool has</li>
        <li><b>DB used</b> - Current number of connections being used</li>
        <li><b>Core Threads</b> - Number of threads for processing incoming traffic</li>
        <li><b>Active Threads</b> - Number of threads that are actually processing incoming traffic</li>
        <li><b>Queue Tasks</b> - Number of stanzas stored in the queue when all threads where busy</li>
        <li><b>Completed Tasks</b> - Total number of stanzas that were processed</li>
        <li><b>Sessions</b> - Current number of client sessions in the server</li>
        <li><b>NIO Read</b> - Total number of stanzas that were read</li>
        <li><b>NIO Written</b> - Total number of stanzas that were sent</li>
        <li><b>Queued NIO events</b> - Current number of stanzas that are queued. Stanzas are queued when the same client sends many stanzas and the server is still processing a previous stanza. Queued stanzas are not yet considered read.</li>
        <li><b>Queues NIO writes</b> - Current number of stanzas pending to be sent</li>
    </ol>
</p>

When processing the file in Excel you may want to add the following columns:
<ul>
    <li><b>NIO Reads Delta</b> - Difference between a <i>NIO Read</i> row and its previous row</li>
    <li><b>NIO Writtens Delta</b> - Difference between a <i>NIO Written</i> row and its previous row</li>
    <li><b>Sessions delta</b> - Difference between a <i>Sessions</i> row and its previous row</li>
</ul>

Excell charts are a great way for understanding the collected statistics. In particular, we found charts
of the following columns useful.
<ul>
    <li><b>NIO Read</b> and <b>NIO Written</b></li>
    <li><b>NIO Reads Delta</b> and <b>NIO Writtens Delta</b></li>
    <li><b>Sessions</b></li>
    <li><b>Sessions delta</b></li>
    <li><b>Completed Tasks</b></li>
    <li><b>DB used</b></li>
    <li><b>Active Threads</b></li>
</ul>

</body>
</html>