Skip Headers

Oracle® Communication and Mobility Server Administrator's Guide 10g Release 3 (10.1.3) Part Number E12656-01 |
Home | Contents | Index | Contact Us

Previous | Next
| View PDF

# 6 Viewing Statistics and Metrics

This chapter includes the following sections:

- "Viewing Statistics and Metrics"

## Viewing Statistics and Metrics

This section contains the following topics:

- "SIP Servlet Container Monitor"

- "Application Counters"

- "Memory Monitor"

- "SIP Cluster"

### SIP Servlet Container Monitor

The SIP Servlet Container Monitor MBean (SipServletContainerMonitor) displays read-only values for system queues and SIP transactions that enable you to assess the performance of the SIP servlet container when it enters an abnormal state. These values can also serve as a reference for system tuning.

The following sections describe SIP Servlet Container Monitor's attributes:

- "Viewing System Status"

- "Viewing Transactions"

- "Using the Current, Peak, and Total Usage Statistics to Tune the System"

#### Viewing System Status

Table 6-1 lists the attributes that display the current status of the SIP servlet container.

Table 6-1 Current Status of the SIP Servlet Container

SIP Servlet Container Status | Attribute
--- | ---
The time that the SIP container was last started. | SipServiceStartTime
The time that the SIP container entered its current state. | SipServiceLastChanged
The number of events dropped by OCMS. | SipMessagesDropped

#### Viewing Transactions

The SipServletContainerMonitor MBean's SipSummaryTotalTransactions attribute displays the total number of transactions (both current and completed) as a read-only value. The MBean further delineates transactions by displaying the total number of requests received by the SIP servlet container as well as the total number of subsequent responses that it receives and sends.

Total Requests and Responses

The SipSummaryInRequests attribute displays the total number of requests received by the SIP servlet container. In addition to this attribute, the SipServletContainerMonitor provides read-only values for the responses that comprise each transaction, both in terms of the total of SIP response messages received and sent by the SIP servlet container (the SipSummaryInResponses and SipSummaryOutResponses attributes, respectively) and also in terms of the total number of messages from provisional responses (Status Code 1xx) to the final responses (Status Codes 200 - 600). The SipServletContainerMonitor displays the total of SIP responses for each message category supported by OCMS (Table 6-2). See RFC 3261 and RFC 3265 for more information on response codes.

Table 6-2 SIP Response Messages Supported by OCMS

Status Code | Reason Phrase | Related Attributes
--- | --- | ---
1xx | Provisional Response Messages | 1xx-related attributes: SipStatsInfoClassIns SipStatsInfoClassOuts
2xx | Success Messages | 2xx-related attributes: SipStatsSuccessClassOuts SipStatsSuccessClassIns
3xx | Redirection Response Messages | 3xx-related attributes: SipStatesRedirClassIns SipStatsRedirClassOuts
4xx | Client Error Responses | 4xx-related attributes: SipStatsReqFailClassIns SipStatsReqFailClassOuts
5xx | Server Failure Responses | 5xx-related attributes: SipStatsServerFailClassIns SipStatsServerFailClassOuts 503ResponseSent
6xx | Global Failure Messages | 6xx-related attributes: SipStatsGlobalFailClassIns SipStatsGlobalFailClassOuts
NA | Non-SIP Response Codes | Non-SIP response-related attributes: SipStatsOtherClassesIns SipStatsOtherClassesOuts

Provisional Response Messages

As described in RFC 3261, the 1xx SIP response messages indicate informational or provisional responses and are sent when servers expects that obtaining a final response will exceed 200 milliseconds. The SipStatsInfoClassIns indicates the total number of 1xx responses received by the SIP servlet container, including transmission. The SipStatsInfoClassOuts attribute represents the number of messages sent, relayed, or re-transmitted by the SIP servlet container.

Success Messages

The SipStatsSuccessClassOuts and SipStatsSuccessClassIns represent the total number of 200 (OK) or 202 (Accepted) response messages sent and received by the SIP servlet container, respectively.

Redirection Response Messages

The 3xx responses provide information about the user's new location, or about alternative services that might be able to satisfy the call. The SipStatesRedirClassIns attribute represents the total number of 3xx responses received by (and re-transmitted to) the SIP servlet container. The SipStatsRedirClassOuts attribute represents the total number of 3xx responses sent (or re-transmitted) by the SIP servlet container.

Client Error Responses

The 4xx response messages are failure responses issued from server. When a client receives a 4xx response message, it should not attempt to send the request again without modifying it. The SipStatsReqFailClassIns attribute represents the total number of client error received by (or re-transmitted to) the SIP Servlet Container. The SipStatsReqFailClassOuts attribute represents the total number of client error messages sent (or retransmitted) by the SIP servlet container.

Server Failure Responses

The SIP Servlet Container sends the following error messages:

- 500 Server Internal Error

- 501 Not Implemented

- 502 Bad Gateway

- 503 Service Unavailable

- 504 Server Time-out

- 505 Version Not Supported

- 513 Message Too Large

The SipStatsServerFailClassIns attribute represents the total number of 5xx response messages received by (or re-transmitted to) the SIP servlet container. The SipStatsServerFailClassOuts attribute represents the total number of 5xx response messages sent (or re-transmitted) by the SIP servlet container.

While the SipStatsServerFailClassOuts attribute represents all of the 5xx response messages sent by the SIP servlet container, the 503ResponseSent attribute represents the total number of 503 (Service Unavailable) responses sent by the SIP servlet container.

Global Failure Messages

The 6xx responses provide information specific to a user (as opposed to information specific to the instance indicated in the Request-URI). The SipStatsGlobalFailClassIns represents the total number of 6xx response messages received by (or re-transmitted) to the SIP servlet container. The SipStatsGlobalFailClassOuts attribute represents the total number of 6xx responses sent (or relayed) by the SIP servlet container.

Non-SIP Response Codes

The SipStatsOtherClassesIns and SipStatsOtherClassesOuts represent non-SIP response messages (that is, response codes other than the 1xx, 2xx, 3xx, 4xx, 5xx, and 6xx that OCMS supports). The SipStatsOtherClassesIns attribute represents the total number of non-SIP responses messages received by (or re-transmitted to) the SIP servlet container. The SipStatsClassesOuts attribute represents the total number of non-SIP response messages sent (or relayed) by the SIP servlet container.

#### Using the Current, Peak, and Total Usage Statistics to Tune the System

This SipServletContainerMontior's attributes enable you to view the current, peak and total usage for the application and network queues as well as the current and total number of SIP sessions. These read-only values can serve as a reference when you tune overload protection using the Overload Policy MBean. In particular, you can use the numbers for ApplicationPeakQueue, NetworkPeakQueue, and Sessions to gauge the values for the Overload Policy's AppQueueMaxSize, StackQueueMaxSize, and SipSessionTableMaxSize attributes.

In general, overload protection is not invoked for normal load situations. Use this Mbean to find out the numbers for a normal load by monitoring the system's responses to various test scenarios without executing the overload protection. You can then set the overload protection to start above these figures. See also "Deactivating the Overload Protection for System Tuning".

Note:

The number of 503 responses sent and messages dropped (indicated by the 503ResponseSent and MessagesDropped attributes, respectively) indicate how often overload protection should execute to reduce incoming traffic.

### Application Counters

In addition to the counters available to the SIP servlet container (described in "SIP Servlet Container Monitor"), OCMS enables you to assess application performance through counters (listed in Table 6-3) that display as read-only values for each deployed SIP application. These counters provide metrics both counter values and range values (current, high, low) are implementations of the following JSR-77 interfaces:

- `javax.management.j2ee.statistics.RangeStatistic`

- `javax.management.j2ee.statistics.CountStatistic`

Table 6-3 Application Counters

Attribute | Description
--- | ---
SipSessions | The current number of SIP sessions. This is a range statistic.
SipApplicationSessions | The total number of SIP sessions. This is a range statistic.
OutResponse | The total number of responses sent by the application.
OutRequest | The total number of SIP application sessions.
TotalSipApplicationSessions | The total number of SIP applications that have been created.
TotalSipSessions | The total number of SIP sessions that have been created.
InResponse | The number of responses received by the application.
InRequest | The number of requests received by the application.

### Memory Monitor

The Memory Monitor reports memory usage to the Overload Policy. The Memory Monitor polls the memory status from the runtime environment at either specified or random polling intervals. The Memory Monitor MBean includes attributes that enable you to select the type of polling interval and also the duration of the polling interval. Table 6-4 lists the attributes of the Memory Monitor MBean.

Table 6-4 Attributes of the Memory Monitor MBean

Attribute | Description
--- | ---
AutoStart | Select true to activate the Memory Monitor on startup of the SIP container.
PollingInterval | Enter the time, in seconds, between each interval that the Memory Monitor polls the memory status of the runtime environment. This attribute sets a fixed interval between polls. This value must be greater than five (5) seconds. The default value is 5.
RandomInterval | Select true to set the Memory Monitor to poll at a random intervals. The average length of these intervals will be the same as the value set for the PollingInterval attribute, but individual polls may differ by 50% from the fixed interval. For example, if the polling interval is set to 20 seconds, then a random interval may be pending between 10 and 30 seconds. The default setting is false.
MemoryMonitorStatus | The current status of the Memory Monitor. This value is read-only.
MemoryUsage | The current memory usage. This value is read-only.

#### Starting and Stopping the Memory Monitor

The start and stop operations enable you to manually start and stop the Memory Monitor.

### SIP Cluster

The SIP Cluster MBean (SipCluster) enables you to override the default timeouts set for OC4J clusters. High Availability for OCMS is based on OC4J clusters. Because this framework is based on HTTP, the intervals set for replication are inappropriate for SIP, as they are on the order of seconds rather than milliseconds.

Caution:

Because the values set for these timers can significantly impact high availability for OCMS, contact Oracle Support (http://www.oracle.com/) support before you change the values for this MBean. The seeded values will suffice for most systems.

The SIPCluster MBean enables you to configure the following timers for state replication between peer nodes:

- RestoreTimeout -- If a node cannot recognize the session ID of an incoming request, it requests a state replica from a peer. The interval set by the attribute reflects the time that the node waits for the requested state replica from another peer.

  Note:

  The default value for the restore timeout for OC4J clusters is 0, meaning that the peer would wait indefinitely for the state replica. Without the override provided by this attribute, the peer might block all of its active threads under some circumstances.

- OwnedByTimeout -- The time needed to pass ownership of the replicated data from one peer to another. This value sets the interval in which the node owning the state replica drops ownership and the requesting node confirms ownership. Once the requesting peer attains the data, its session replica is promoted to a "live" state.

  Note:

  The default value to pass ownership for OC4J clusters is -1, which instructs the peer not to wait for the replicated data. Because there is no interval between ownership, two peers can concurrently host "live" session replicas for a short period of time.