This chapter describes the implementation and management of statistics and resource limits in Oracle WebRTC Session Controller.
You configure your WebRTC Session Controller installation with license requirements, resource limits for the system and the application or tenant accessing the system and its services.
At runtime, when your customers access and use your WebRTC Session Controller system and the services you provide, you can access and monitor the following in WebRTC Session Controller:
Licenses. See "About the Monitoring of Licenses".
Resource limits. See "About Resource Limits".
Counters. See "About Statistics Counters".
As a system administrator, you can ensure that WebRTC Session Controller is not exceeding the licensing limit for concurrent sessions and/or named users by monitoring the total number of concurrent sessions and/or named users in the system at any time.
In WebRTC Session Controller, concurrent sessions are the aggregate number of established virtual connections between two endpoints represented by subscriber devices or network switching equipment and traversing the licensed software at any one time.
A named user is an individual authorized by you to use the programs which are installed on a single server or multiple servers. This definition of a named user is valid regardless of whether the individual is actively using the programs at any given time. Additionally, WebRTC Session Controller counts a non human operated device that can access the programs as a named user in addition to all individuals authorized to use the programs.
WebRTC Session Controller supports the following licensing metrics at the system level:
Total number of active sessions
Total number of sub-sessions
Total number of uniquely-named users
High watermark for active sessions, sub sessions and named users
To monitor these metrics, see "Monitoring the Metrics".
WebRTC Session Controller Administration Console supports the configuration of resource limit entries, where each entry is given a unique name. Each resource limit entry consists of the following resource parameters to which limits can be set:
Number of active sessions allowed.
Number of sessions allowed per user.
Number of sub sessions allowed per session.
Number of sub sessions allowed per user.
Each tenant of an WebRTC Session Controller installation can configure and store a set of resource limit entries in the Signaling Engine. At the time that a tenant creates an entry for an application and configures the application profile for the application, the tenant selects a resource limit entry to associate with each application.
WebRTC Session Controller provides a default resource limit selection entry called, default. Use this resource limit entry to provide resource limits as a default selection for the applications a tenant configures in the application profile.
When WebRTC Session Controller is installed, the four resource parameters for the default entry have their limits set to -1. A value of -1 for a resource entry parameter indicates that the resource parameter is allowed unlimited resource. WebRTC Session Controller does not track any resource parameter with its maximum limit set to -1.
You can edit the limits set for the default resource limit entry. When you do so, WebRTC Session Controller enforces the updated resource limits.
Note:
If you do not edit the installation configuration for default (with unlimited resources for all the parameters) as one of the resource limit entries and an application uses this default, then, none of the resource parameters use is tracked for the application.Table 13-1 lists the available WebRTC Session Controller statistics counters, including information on each statistic's type as well as in which statistics set each is available.
Table 13-1 WebRTC Session Controller Statistics Counters
Name | Levels Where Applied | Description |
---|---|---|
SESSION_COUNT |
System, Application, Tenant, Application User, Tenant user |
Number of active WebRTC Session Controller sessions |
SESSION_PEAK |
System |
Maximum number of active WebRTC Session Controller sessions |
SUB_SESSION_COUNT |
System |
Number of active sub sessions, for example SIP sessions. |
SUB_SESSION_PEAK |
System |
Max number of active sub sessions, for example, SIP sessions. |
SUB_SESSION_ATTEMPT_COUNT |
System |
The number of SIP session creation attempts where SipSession == INITIAL. |
SUB_SESSION_SUCCESS_COUNT |
System |
The number of SIP sessions successfully created where SipSession == CONFIRMED. |
SUB_SESSION_TERMINATE_COUNT |
System |
The number of SIP sessions terminated where SipSession == TERMINATED. |
REGISTRATION_SUCCESS_COUNT |
System |
Number of successful registrations. |
REGISTRATION_UNSUCCESS_COUNT |
System |
Number of unsuccessful registrations. |
MEDIA_SESSION_COUNT |
System |
The number of active media sessions. |
ACTIVE_USERS_COUNT |
System |
Number of active users |
ACTIVE_USERS_PEAK |
System |
Maximum number of active users |
SIP_MESSAGE_SEND_COUNT |
System |
The number of SIP messages sent by WebRTC Session Controller. |
SIP_MESSAGE_RECV_COUNT |
System |
The number of SIP messages received by WebRTC Session Controller. |
SIP_(method)_REQUEST_SEND_COUNT |
System |
The number of SIP requests for each method sent by WebRTC Session Controller. |
SIP_(method)_REQUEST_RECV_COUNT |
System |
The number of SIP requests for each method received by WebRTC Session Controller. |
SIP_(status)_RESPONSE_SEND_COUNT |
System |
The number of SIP responses of each status (1xx, 2xx, 3xx, 4xx, 5xx and 6xx) sent by WebRTC Session Controller. |
SIP_(status)_RESPONSE_RECV_COUNT |
System |
The number of SIP responses of each status 1xx, 2xx, 3xx, 4xx, 5xx and 6xx) received by WebRTC Session Controller. |
For a description about the MBeans employed to monitor these counters, see "About StatisticsRuntimeMBean" and "About the SipRuntimeMBean".
You can configure resource limits for applications and for tenants in the Signaling Engine.
In the Signaling Engine tab of WebRTC Session Controller Administration Console, you create a set of resource limit entries, with each entry given a unique name. For each resource limit entry, you provide limits to the resource parameters.
For information on how to provide resource limit entries for the Signaling engine, see "Global Resource Limit Parameters of the Signaling Engine".
The Resource Limits field in the Application Profiles tab of WebRTC Session Controller Administration Console, displays the set of saved resource limit entries that you created in the Signaling Engine tab. When you create the application profile for an application, you select the resource limit entry that best suits your application.
For information on how to assign a resource limit entry to your application, see "Providing the Profile Information for the Application".
You can monitor these metrics:
System usage. See "Monitoring the System at RunTime".
Sip Server usage. See "Monitoring SIP Counters at Runtime".
High watermark log messages. See "Monitoring High Watermark Log Messages".
At runtime, you can get the statistics for:
Usage:
SESSION_COUNT
SESSION_PEAK
SUB_SESSION_COUNT
SUB_SESSION_PEAK
SUB_SESSION_ATTEMPT_COUNT
SUB_SESSION_SUCCESS_COUNT
SUB_SESSION_TERMINATE_COUNT
REGISTRATION_SUCCESS_COUNT
REGISTRATION_UNSUCCESS_COUNT
MEDIA_SESSION_COUNT
ACTIVE_USERS_COUNT
ACTIVE_USERS_PEAK
See Table 13-1 for a description of the counters.
High Watermark counts for:
Active named users
Active sessions
Active sub sessions
To retrieve the above statistics, you use the StatisticsRuntimeMBean.
As its name suggests, StatisticsRuntimeMBean is a runtime MBean that provides statistics. The following MBeans are available at runtime:
System level
A single MBean instance that reports counters from the SYSTEM statistics set with the object name:
oracle.wsc:Type=StatisticsRuntimeMBean,Location=[ServerName]]
Application level
One mbean per application that reports counters from the Application statistics set with the Object name
oracle.wsc:Type=StatisticsRuntimeMBean,Location=[ServerName],scope=application,application=[ApplicationName]]
Tenant level
One mbean per tenant that reports counters from the TENANT statistics set with the Object name:
oracle.wsc:Type=StatisticsRuntimeMBean,Location=[ServerName],scope=tenant,tenantProfile=[TenantProfileName]]]
You can access WebRTC Session Controller statistics counters and operations using JMX or the JConsole utility through this MBean.
For information on the methods of the StatisticsRunTimeMBean, see WebRTC Session Controller JavaScript API Reference.
At runtime, SipRunTimeMBean enables you can retrieve the number for following:
SIP_MESSAGE_SEND_COUNT
SIP_MESSAGE_RECV_COUNT
SIP_(method)_REQUEST_SEND_COUNT
SIP_(method)_REQUEST_RECV_COUNT
SIP_(status)_RESPONSE_SEND_COUNT
SIP_(status)_RESPONSE_RECV_COUNT
SipRuntimeMBean is a single mbean instance reflects SIP counters from the SYSTEM statistics set with the Object name
oracle.wsc:Type=SipRuntimeMBean,Location=[ServerName]]]]
For information on the methods of the SipRuntimeMBean, see WebRTC Session Controller JavaScript API Reference.
The High Watermark is the indicator which represents the highest value seen until now for a monitored entry. Suppose that the total count stored for a monitored entry goes from 1 to 10 to 5. The high watermark value for this entry is 10.
WebRTC Session Controller logs a high watermark message for the following:
Active sessions
Active sub sessions
Active named users
Example 13-1 lists some warning messages in a sample wsc.log file:
Example 13-1 Example High Watermark messages in the wsc.log file
WARN 2014-03-28 13:00:31,452 [pool-4-thread-1] (ats.StatsServiceImpl: 96) - New high watermark for active named user count: 42 WARN 2014-03-25 16:18:55,816 [pool-4-thread-1] (ats.StatsServiceImpl: 125) - New high watermark for active session count: 99
When the system reaches a new all time high value for any of the licence metrics, WebRTC Session Controller logs high watermark messages in the wsc.log file on the engine servers. The complete path to this file is domain_name/servers/server_name/logs/wsc.log file, where domain_name is the name of the WebRTC Session Controller domain and server_name is the name of the server.
You can audit the log files at a later time to see the maximum values that have been reached.
Note:
In a cluster configuration, WebRTC Session Controller resets the watermark values on a restart of the servers.WebRTC Session Controller collects statistics associated with licensing, by default. To disable the monitoring of system statistics, use the following system property when you start WebLogic server:
-Doracle.wsc.stats=false
For information about startup command options, see Table 3-6.