Client performance metrics provide detailed information on browser-to-server requests in log files. Client performance metrics persist in the NJRequestStat table. A database administrator can query the database to retrieve metrics.
Use client performance metrics to identify network and environment issues in your NexJ deployment. Client performance metrics help application developers and quality assurance analysts understand potential performance bottlenecks, detect performance regressions, and investigate environment issues such as database performance.
You can enable client performance metrics for individual users or for all users in the system. You enable client performance metrics for an individual user by assigning the ClientActivityMonitor privilege to the user. You enable client performance metrics for all users in the system on the Statistics page in NexJ System Admin Console.
Enabling client performance metrics for individual users
You enable client performance metrics for an individual user by adding the user to a privilege group that has been granted the ClientActivityMonitor privilege.
You can either create a new privilege group or add the privilege to an existing group. This example explains how to create a new privilege group that you can add a user to when you want to enable client performance metrics for them.
To enable client performance metrics for an individual user:
- In NexJ Admin Console, navigate to the User page.
- In the Privilege Groups tab, create a new privilege group, for example, gIndividualPerformanceMetrics.
- In the Detail tab, click the Select button in the Privileges zone. The Select Privileges dialog opens.
- Select the ClientActivityMonitor privilege from the list of available privileges on the left side of the dialog and click Add.
- Click OK. The Select Privileges dialog closes.
- In the Users tab, add the user to the new privilege group that you created.
You have enabled client performance metrics for the specified user.
Enabling client performance metrics for the system
You enable client performance metrics for all users in the system on the Statistics page in NexJ System Admin Console.
To enable client performance metrics for the system:
- In NexJ System Admin Console, navigate to the Statistics page.
- In the Statistics list, expand the node for your NexJ application, then select Administration. Configuration options for statistics display in the details area.
- Beside Client Activity Monitoring Enabled in the details area, double-click in the Value column. A text entry field displays.
To enable logging, enter
Y. Logging is enabled for the system.
You can disable logging by entering
You have enabled client performance metrics for all users in the system.
Interpreting client performance metrics
View client performance metrics to diagnose network and environment issues in your deployment.
The following information is stored in the NJRequestStat table:
Request start time
The time on the client when the request was made to the server in milliseconds. A value of -1 indicates that the request start time could not be retrieved.
The user name of the current user.
The IP or hostname of the current user.
The ID of the current application instance.
The ID of the session associated with the request.
The time the current entry was processed for logging on the server.
The name of the portlet from which the request originated.
The name of the screen associated with the portlet from which the request originated.
The name of the control that triggered a request. A null value indicates no active control. In some cases, the active control may include a base control and its subcontrol, for example, for a menu that contains several menu items.
An integer value that represents the popup level from which the request was made, relative to the base popup. A value of -1 indicates no popup, 0 indicates the base popup, and 1 indicates the first nested popup. Values greater than one indicate further nested popup levels.
The following metrics are stored in the NJRequestStat table:
Total request time
The network processing time in milliseconds.
Since there is no way to determine when GET requests originated, the Network value of GET requests is set to
N/A (not available).
Browser (JS) time
The time it took for the server to handle the request in milliseconds.
The number of SOA calls made to the server and maximum call depth reached by any single call.
The number of SQL queries the server made while handling the request.
The number of lazy loads the server did while handling the request.