14Monitoring Siebel Application Performance with Siebel ARM
Monitoring Siebel Application Performance with Siebel ARM
This chapter provides an overview of performance monitoring using the Siebel Application Response Measurement (Siebel ARM) feature. It contains the following topics:
For information about how to analyze the data that the Siebel ARM feature collects, see Analyzing Siebel ARM Data.
About Siebel Application Response Measurement
Siebel ARM is a framework for capturing critical performance data in Siebel CRM. This data is saved in binary file format. For information about how to analyze the data in these files, see Analyzing Siebel ARM Data
Siebel ARM captures response times at key monitoring points within the Siebel Server infrastructure. These Siebel ARM monitoring points are classified in the following distinct areas within the Siebel infrastructure:
Infra-Network Time. Time duration between a request from the Siebel Application Interface and the Siebel Server (including the network time).
Siebel Server Time. Time duration for the request to be processed by the Siebel Server and the Siebel database server (time between Server Thread (SMI) and any database-layer calls).
Database Time. Time for any Siebel database-layer calls.
Application-Specific Time. Time duration spent in application-specific areas of the infrastructure.
The Siebel ARM feature monitors system performance in the infrastructure and application-specific areas in the following list. The areas in the following are listed as they appear in Siebel ARM output. The name in parentheses after the area name represents the area symbol, which also appears in Siebel ARM output. In this table, MWC represents the Mobile Web Client.
Table Siebel Infrastructure and Application Areas Monitored by Siebel ARM
Area Monitored by Siebel ARM |
Area Monitored by Siebel ARM |
---|---|
SARM Framework (SARM) |
Assignment Manager (AM) |
Web Engine (SWE) |
Fulfillment Engine (FSFULFILL) |
Build Web Page (SWEPAGE) |
Preventative Maintenance Engine (FSPREVMNT) |
Universal Inbox (UINBOX) |
Siebel Loyalty (LOY) |
Database Connector (DBC) |
Handheld Sync (HHSYNC) |
Application Server (INFRA) |
SmartScript (SMARTSCRIPT) |
Workflow (WORKFLOW) |
Siebel Anywhere (SIEBANYWHERE) |
eScripts (SCRIPT) |
Communications Channel Manager (CSMM) |
Request Broker (SRB) |
Communications Server Service (CSS) |
File System Manager (FSM) |
Customer/Order Management - Configurator (COMCFG) |
Business Service (BUSSRVC) |
EAI Transports (EAITRANSP) |
Email Response (EMR) |
MWC Profiler (MWC) |
Security / Authentication (SEC) |
Communications Outbound Manager (COM) |
Object Manager (OBJMGR) |
Siebel Repository (SRF) |
Each area listed contains one or more subareas, which further define the timing and performance of their respective area. The number of areas and subareas present in Siebel ARM files depends on the granularity level, which is configured by the parameter SARM Granularity Level
. For more information about this parameter, see About Siebel ARM Parameters and Variables. For more information about the format of Siebel ARM files, see About Siebel ARM Files.
About Siebel ARM Parameters and Variables
The following parameters on the Siebel Server enable and configure the Siebel ARM feature. The Siebel ARM parameters and environment variables are equivalent in function and similar in naming convention.
See the following table for a listing of each Siebel ARM parameter and its equivalent environment variable. Descriptions of each parameter and environment variable follow the table. For more information about enabling Siebel ARM using these parameters and environment variables, see Enabling and Configuring Siebel ARM.
Table Siebel ARM Parameters and Environment Variables
Parameter Display Name |
Parameter Alias |
Environment Variable Name |
---|---|---|
SARM Granularity Level |
SARMLevel |
SIEBEL_SARMLevel |
SARM Buffer Size |
SARMBufferSize |
SIEBEL_SARMBufferSize |
SARM Period |
SARMPeriod |
SIEBEL_SARMPeriod |
SARM Max Number of Files |
SARMMaxFiles |
SIEBEL_SARMMaxFiles |
SARM Data File Size |
SARMFileSize |
SIEBEL_SARMFileSize |
SARM Granularity Level
This parameter or equivalent environment variable specifies the amount of response measurement detail logged to Siebel ARM files, and effectively enables or disables the Siebel ARM feature. SARM Granularity Level
has the following settings:
0 (OFF). This setting is the default value and disables Siebel ARM.
1 (ARM). This setting captures general application performance and is based on the application response measurement (ARM) standard. At this level, Siebel ARM collects information such as process and component boundaries, third-party software calls, database measurements, workflow execution, and script performance. Use this level for general performance monitoring.
2 (Detail). This setting captures the information at level 1 as well as detailed information such as steps of workflow execution, construction of large objects, reading of large files, and crossing significant architectural areas. Use this level for problem diagnostics.
SARM Buffer Size
The Siebel ARM framework uses a buffered data generation mechanism. Siebel ARM collects data and stores it in memory. After the in-memory data size reaches a threshold defined by the SARM Buffer Size
parameter or equivalent environment variable, Siebel ARM outputs the stored data to file on a physical disk. SARM Buffer Size
is specified in bytes. The default value is 5000000 (5,000,000 bytes, approximately 5 MB). Valid settings correspond to values ranging from 100,000 bytes to 50,000,000 bytes.
SARM Period
parameter or environment variable. The
SARM Period
setting can determine the size of the data saved to file rather than the threshold value defined by
SARM Buffer Size
.
For example, if the setting of SARM Buffer Size
is 5 MB and there are five instances (processes) of the component, then the total memory used is 25 MB.
SARM Period
Siebel ARM collects data and stores it in memory. The time period specified by the SARM Period
parameter or equivalent environment variable determines when Siebel ARM outputs the stored data to file on a physical disk regardless of the value set for SARM Buffer Size
. The value of SARM Period
is specified in minutes, and has a default value of 3 minutes. The valid settings range from 1 minute to 60 minutes.
SARM Max Number of Files
This parameter or equivalent environment variable specifies the maximum number of Siebel ARM files created per component instance. The default value is 4, and there is no predefined upper limit to the number of files Siebel ARM creates. (SARM Data File Size
configures how large a file becomes before a new file is stored on the physical disk.)
The number of active Siebel ARM files per component process is the value of SARM Max Number of Files
plus 1. Siebel ARM removes the oldest file for that process only after the file representing SARM Max Number of Files
plus 1 reaches the value of SARM Data File Size
. For an example of how to calculate memory usage, see SARM Data File Size.
SARM Data File Size
This parameter or equivalent environment variable specifies how large a file becomes before Siebel ARM stores data in a new file on the physical disk. The value of SARM Data File Size
is specified in bytes. The default value is 15000000 (15,000,000 bytes, approximately 15 MB), and there is no predefined upper limit to file size.
Until the specified size is reached, Siebel ARM continues to append file segments to the current file. When the file limit is reached, Siebel ARM creates a new file. (SARM Max Number of Files
configures the number of files maintained by Siebel ARM.)
When Siebel ARM reaches the file number specified by SARM Max Number of Files
(that is, the number of files of size SARM Data File Size
has reached the value of SARM Max Number of Files
), Siebel ARM removes the first file (that is, the oldest file) when the next file reaches the SARM Data File Size
limit.
Therefore, the maximum amount of disk space used is approximately SARM Max Number of Files
plus 1 times the number of bytes represented by the value of SARM Data File Size
. This amount of memory is per-process (per component instance).
For example, if SARM Data File Size
is 15 MB, SARM Max Number of Files
is 4, and there are 5 instances (processes) of the component, then the maximum amount of disk space consumed is approximately 375 MB; that is, 15 MB per file, times 5 files per process, times 5 processes (instances of the component).
Enabling and Configuring Siebel ARM
Enabling and configuring Siebel Application Response Measurement (Siebel ARM) involves setting Siebel ARM parameters on the Siebel Server, as outlined in the following procedure. By default, Siebel ARM is disabled.
Show Advanced Objects
(alias
ShowAdvancedObjects
) is set to
TRUE
for the server component Server Manager (alias ServerMgr), or click Advanced to view the parameters in a server configuration view.
To enable and configure Siebel ARM on the Siebel Server
Set the parameter
SARM Granularity Level
(aliasSARMLevel
) to a value of 1 or 2 to enable Siebel ARM on the Siebel Server.You can enable Siebel ARM at either the enterprise, Siebel Server, or server component level. For more information about this parameter and its settings, see About Siebel ARM Parameters and Variables.
Set the other Siebel ARM-related parameters to configure the Siebel ARM file characteristics on the Siebel Server.
You can configure Siebel ARM at the Siebel Server or server component level. For more information about these parameters, see About Siebel ARM Parameters and Variables.
For more information about setting Siebel Server parameters using the Server Manager GUI or command-line interface, and for background information about parameter administration, see Siebel System Administration Guide.
Guidelines for Converting Siebel ARM File
Review the following information as recommendations when converting Siebel ARM files.
Set the Siebel ARM granularity to level 1 for monitoring production deployments; set the granularity to level 2 for diagnostic purposes.
Set the
SARM Max Number of Files
parameter to 0 in order to disable Siebel ARM file creation. This scenario can be useful when you are enabling Siebel ARM for use with other third-party response measurement tools.Make sure that the Siebel ARM feature has flushed data to the Siebel ARM file before converting the file. The Siebel ARM feature creates an empty Siebel ARM file before data is flushed to the file. For more information about this process, see the descriptions for
SARM Data File Size
andSARM Period
in About Siebel ARM Parameters and Variables.Change the value of
SARM Memory Size Limit
orSARM Period
to a lower setting if the Siebel ARM files remain empty on a consistent basis. For more information about this process, see the descriptions forSARM Data File Size
andSARM Period
in About Siebel ARM Parameters and Variables.Make sure that the Siebel ARM file name and path name, as necessary, are correct when you reference the Siebel ARM files in the commands.
(Siebel ARM Analyzer Tool only) If the Siebel ARM Analyzer Tool cannot convert large Siebel ARM files or the output file is too large, then split the Siebel ARM file by using the
-p
flag with the tool. For more information about the-p
flag, see About the Siebel ARM Analyzer Tool.Concatenate Siebel ARM files to increase the amount of performance data for a given process. For example, as the Siebel ARM feature can save numerous Siebel ARM binary files for each process, concatenate these files to view performance data for multiple requests for this process. For more information about the number of files saved, see the description for
SARM Max Number of Files
in About Siebel ARM Parameters and Variables.Tip: Use a third-party utility to concatenate Siebel ARM files on Windows. Use the commandcat list_of_files > filename.sarm
to concatenate Siebel ARM files on UNIX.Note: Only concatenate Siebel ARM files of the same process.Gather performance analysis data on your Siebel application before customizing the application. These baseline measurements provide a good reference when monitoring the performance of your Siebel application after any customizations.
Run a user session trace analysis if there are performance problems for an individual user during a particular session. The user trace session data identifies each request that the user made and identifies which request required the longest time when compared to a base line.
Use the performance aggregation data to diagnose performance at a given point in time or for a certain process. Reviewing the data by group can diagnose the area that is performing poorly. After reviewing a high-level view of the performance data, extrapolate a more detailed review by running the comma-separated value analysis. For more information about running this analysis, see Running Siebel ARM Data CSV Conversion.
Compile performance aggregation data over a period of time to determine a trend analysis.