Siebel CRM Performance Tuning Guide Siebel 2018 E24801-01 |
|
Previous |
Next |
View PDF |
This topic describes how to analyze Siebel ARM files using the Siebel ARM Analyzer Tool. This tool converts binary Siebel ARM files into readable output for analysis.
Note: The Siebel ARM Query Tool, which is described in "Analyzing Siebel ARM Files Using the Siebel ARM Query Tool", is recommended for use over the Siebel ARM Analyzer Tool. |
The following topics provide general information about the Siebel ARM Analyzer Tool and describe how to generate different types of analysis output using the Siebel ARM Analyzer Tool:
The following topics provide information about the different types of analysis output that the Siebel ARM Analyzer Tool generates. The analyzer tool produces output in either XML or CSV format, based on the type of conversion analysis. For more information, see:
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
The Siebel ARM Analyzer Tool parses the files created by the Siebel ARM feature and generates extensible markup language (XML) analytic results or comma-separated value (CSV) results. Run the Siebel ARM Analyzer Tool manually at the command-line. For an overview of the types of output this tool can generate, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
This command-line utility resides in the bin
subdirectory of the Siebel Server root directory as the executable program sarmanalyzer.exe
on Microsoft Windows or sarmanalyzer
on UNIX. Table 15-9 describes the parameters to use with this tool.
Caution: Monitoring the Siebel application can result in large Siebel ARM files. In some cases, the Siebel ARM Analyzer Tool cannot allocate enough memory to convert extremely large binary Siebel ARM files. In this situation, use the-p flag with the Siebel ARM Analyzer Tool to split the Siebel ARM file into smaller files. For information about this flag, see Table 15-9. |
Table 15-9 Siebel ARM Analyzer Tool Flags
Flag | Description |
---|---|
-help |
Use this flag with the Siebel ARM Analyzer Tool to list and describe the available flags. |
-f |
Use this flag with a Siebel ARM file argument to run a performance aggregation analysis. For more information, see "Running Performance Aggregation Analysis". |
-o |
Use this flag to name the output path and file resulting from the analysis of the Siebel ARM binary file. Make sure to include the correct file extension based on the selected analysis, that is, either XML or CSV. |
-d |
Use this flag with the argument XML or CSV to indicate the type of output file format: extensible markup language (XML) or a comma-delimited list (CSV). |
-a |
Use this flag with the argument AREA or DETAILS when running a performance aggregation analysis. For more information about this analysis, see "Running Performance Aggregation Analysis". |
-i |
Use this flag with a directory argument when running a user session trace analysis. For more information about this analysis, see "Running User Session Trace". |
-s |
Use this optional flag to denote a start time for a user session trace. The format of the time argument is as follows: yyyy-mm-dd hh:mm:ss. Use this flag with the |
-e |
Use this optional flag to denote an end time for a user session trace. The format of the time argument is as follows: yyyy-mm-dd hh:mm:ss. Use this flag with the |
-p |
Use this optional flag to split large Siebel ARM files into smaller sizes. Use a value of 0 to 50 as the flag argument, which denotes the size, in megabytes, of the reduced files. The default value is 14 MB. The Siebel ARM Analyzer Tool uses the default value if the flag argument is 0. The split files are suffixed with |
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Use the following procedure to obtain performance aggregation analysis output. For a description of the performance aggregation analysis and output, see "About Performance Aggregation Analysis and Data". For more information about running the Siebel ARM Analyzer Tool, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool" and "About Siebel ARM Analyzer Tool".
To run a performance aggregation analysis
Navigate to the bin
subdirectory within the Siebel Server root directory.
Run the Siebel ARM Analyzer Tool using the following command:
sarmanalyzer -o output_file_name.xml -a aggregate_argument -f sarm_file_name.sarm
where:
output_file_name
.xml
is the name and path of the XML output file.
aggregate_argument
is either AREA or DETAILS, depending on which area you want the Siebel ARM post-process tools to aggregate data from. For more information, see "About Performance Aggregation Analysis and Data".
sarm_file_name
.sarm
is the name and path of the binary Siebel ARM file. Use a comma-delimited list to aggregate data from more than one Siebel ARM file.
Review the XML output in the file named output_file_name.xml. For more information about analyzing the performance aggregation analysis XML output, see "About Performance Aggregation Analysis and Data".
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Use the following procedure to obtain call graph generation analysis output. For a description of the call graph generation analysis and output, see "About Call Graph Generation Analysis and Data". For more information about running the Siebel ARM Analyzer Tool, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
To run a call graph generation analysis
Navigate to the bin
subdirectory within the Siebel Server root directory.
Run the Siebel ARM Analyzer Tool using the following command:
sarmanalyzer -o output_file_name.xml -d xml -f sarm_file_name.sarm
where:
output_file_name
.xml
is the name and path of the XML output file.
-d xml
identifies the call graph generation analysis.
sarm_file_name
.sarm
is the name and path of the binary Siebel ARM file.
Review the XML output in the file named output_file_name.xml. For more information about analyzing the call graph analysis XML output, see "About Call Graph Generation Analysis and Data".
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Use the following procedure to obtain user session trace analysis output. Before running this analysis, manually collect Siebel ARM files and store them in a common directory. Use this directory as an argument with the Siebel ARM Analyzer Tool. For a description of the user session trace analysis and output, see "About User Session Trace Analysis and Data". For more information about running the Siebel ARM Analyzer Tool, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Tip: To reduce the amount of data logged, use the time frame parameters (-s start time and -e end time). |
To run a user session trace analysis
Navigate to the bin
subdirectory within the Siebel Server root directory.
Run the Siebel ARM Analyzer Tool using the following command:
sarmanalyzer -o output_file_name.xml -u user_name -i SARM_file_directory -s start_time -e end_time
where:
output_file_name
.xml
is the name and path of the XML output file.
user_name
is the User ID of the session you want to trace.
SARM_file_directory
is the directory containing the Siebel ARM files of the Siebel Server.
start_time
is an optional variable to define a start time of a time range for the user session trace. The argument format is as follows: yyyy-mm-dd hh:mm:ss.
end_time
is an optional variable to define the end time of a time range for the user session trace. The argument format is as follows: yyyy-mm-dd hh:mm:ss.
Review the XML output in the file named output_file_name.xml. For more information about analyzing user session trace XML output, see "About User Session Trace Analysis and Data".
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Use the following procedure to obtain a comma-separated value (CSV) analysis output. For a description of the CSV conversion analysis and output, see "About Siebel ARM to CSV Conversion Data". For more information about running the Siebel ARM Analyzer Tool, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
To run a Siebel ARM data to CSV conversion analysis
Navigate to the bin
subdirectory within the Siebel Server root directory.
Run the Siebel ARM Analyzer Tool using one of the following commands:
sarmanalyzer -o output_file_name.csv -d csv -f sarm_file_name.sarm
where:
output_file_name
.csv
is the name and path of the CSV output file.
-d csv
identifies the Siebel ARM data CSV conversion analysis.
sarm_file_name
.sarm
is the name and path of the binary Siebel ARM file or files.
Review the CSV output in the file named output_file_name.csv. For more information about analyzing CSV data, see "About Siebel ARM to CSV Conversion Data".
Note: Running a CSV conversion can create large output files that, in some cases, cannot be read by third-party software. Use the-p flag to split large Siebel ARM files. For more information about this flag, see Table 15-9. |
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Running the Siebel ARM Analyzer Tool produces output files of either extensible markup language (XML) or comma-separated value (CSV) format, depending on the type of Siebel ARM file conversion. For more information about converting Siebel ARM files and running the Siebel ARM Analyzer Tool, see "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Use an XML editor or Web browser to view the XML output files, which result from several types of analyses. Values of timing measurements are included among the XML tags.
Use third-party software (for example, a spreadsheet program) to view the output files that result from the conversion of Siebel ARM files to CSV files. Tags and values of timing measurements are included.
Siebel ARM records all timings included in both the XML and CSV output in milliseconds.
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Performance aggregation analysis is a compilation of the data contained in a Siebel ARM binary file. Siebel ARM files group performance data based on the instrumented areas. For information and a listing of instrumented areas, see "About Siebel Application Response Measurement". For more information about creating this format of Siebel ARM output, see "Running Performance Aggregation Analysis".
Running a performance aggregation analysis of a Siebel ARM file results in an extensible markup language (XML) output file. This file contains timing data for the instrumented areas.
The amount of information contained in the performance aggregation analysis XML output depends on the argument used for the -a
flag when you perform the analysis (either AREA or DETAILS) and on the setting for the SARM Granularity Level
parameter. For information about this parameter, see "About Siebel ARM Parameters and Variables".
The performance aggregation XML output file contains the following tag schema when the -a
flag argument is set to DETAILS. If the -a
flag argument is set to AREA when you run the analysis, then the tag schema is the same, minus the <NumberOfSubAreas>
and <SubArea>
information.
<Area> <Name> <Symbol> <NumberOfSubAreas> <Invocations> <Recursive> <NonRecursive> <ResponseTime> <Total> <Average> <StandardDeviation> +<Maximum> +<Minimum> <ExecutionTime> <Total> <Calls> <Average> <Maximum> <Minimum> <PercentOfResponse> <RecursiveTime> <Total> <Calls> <Average> <Maximum> <Minimum> <PercentOfResponse> <InclusiveMemory> <Total> <Average> <StandardDeviation> +<MaxAllocated> +<MaxDeallocated> <ExclusiveMemory> <Total> <Average> <StandardDeviation> +<MaxAllocated> +<MaxDeallocated> <SubArea> <Name> <Symbol> <NumberOfInstances> +<Invocations> +<ResponseTime> +<ExecutionTime +<Memory> +<Instance> +<Parents> +<Children> <Parents> <NumberOfParents> <ParentArea> <Name> <Symbol> +<<InvocationsFromParents> +<ResponseTime> +<Memory> <Children> <NumberOfChildren> <ChildArea> <Name> <Symbol> +<InvocationsOfChild> +<ResponseTime> +<Memory>
For descriptions of each of the tags, see Table 15-10.
Table 15-10 Performance Aggregation Analysis Tags
Tag | Description |
---|---|
Area |
Specifies performance data captured for a specific area of the Siebel ARM architecture. There might be one or more areas captured with performance data. For more information about Siebel ARM areas, see "About Siebel Application Response Measurement". |
Name |
Name of the area containing performance data. For a listing of area names, see "About Siebel Application Response Measurement". |
Symbol |
Symbol of the area containing performance data. For a listing of symbol names, see "About Siebel Application Response Measurement". |
NumberOfSubAreas |
A count of subareas within the area that contain data. This figure also indicates the number of |
Invocations |
Number of times this area was called during the monitoring period.
|
ResponseTime |
Specifies the time spent for a request to enter and exit an instrumentation area (layer), including calls to other child areas. It is also called inclusive time in other commercial profiling tools. Other tags in this area include:
|
ExecutionTime |
Specifies the total time spent in a particular instrumentation area, not including the time spent in the descendant layers. It is also called exclusive time in other commercial profiling tools. Other tags in this area include:
|
RecursiveTime |
Specifies the total time spent in recursive calls within this area. That is, the time spent in this area when it calls itself. Other tags in this area include:
|
InclusiveMemory |
Specifies the amount of memory used by requests that enter this area and any child or descendent areas. The memory value is recorded in bytes. Other tags in this area include:
For more information about Siebel ARM node tags, see "About Call Graph Generation Analysis and Data". |
ExclusiveMemory |
Specifies the amount of memory used by requests that enter only this area. The memory value is recorded in bytes. Other tags in this area include:
For more information about Siebel ARM node tags, see "About Call Graph Generation Analysis and Data". |
SubArea |
Specifies performance data captured for a specific subarea of the given area. There can be one or more subareas captured with performance data under a given area.
|
Parents |
Specifies the parents of the subarea; that is, those areas that called the given area. This information helps identify the caller or callers of an area and the total time and number of calls the area contributed to its parent's response time. Other tags in this area include:
|
Children |
Specifies the areas called by a parent area; that is, those areas called by the given area. Expanding an area's children information determines response time break downs within each of the children. Other tags in this area include:
|
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
A call graph generation analysis constructs a map of call references. Each node in the call map represents an instrumentation instance, that is, response times for an individual request through an instrumented area. For information about instrumented areas, see "About Siebel Application Response Measurement". For more information about creating this format of Siebel ARM output, see "Running Call Graph Generation".
Running a call graph generation analysis of a Siebel ARM file results in an extensible markup language (XML) output file. For a given Siebel ARM file, the Siebel ARM Analyzer Tool constructs a map with call references. Each node in the call map represents an instrumentation instance. Use this option to generate an XML file containing all of the calls made by each component (if that component captures response time data).
The XML output file contains the following tag schema, which records the details of the calls.
<SarmNode> <SarmID> <TypeLevel> <RootID> <ParentSARMID> <ParentTimeID> <ParentProcID> <AreaCodeSymbol> <AreaDescription> <SubAreaCodeSymbol> <SubAreaDescription> <Count> <Duration> <PooledMemoryUsage> <PooledMemoryCalls> <SystemMemoryUsage> <SystemMemoryCalls> <AppInt1> <AppInt2> <AppString1> <AppString2> +<ChildNode> </SarmNode>
For descriptions of each of the tags, see Table 15-11.
Table 15-11 Call Graph Generation Analysis Tags
Tag | Description |
---|---|
SarmNode |
Data contained within this tag represents an instance of a Siebel ARM node, which is an instrumented area of the Siebel ARM architecture. Each Siebel ARM node can have zero to many nodes as its descendants. |
SarmID |
A unique number representing the Siebel ARM node. |
TypeLevel |
The granularity level at which Siebel ARM records the Siebel ARM node information. For more information about granularity level, see "About Siebel ARM Parameters and Variables". |
RootID |
The Siebel ARM ID of the root Siebel ARM node. |
ParentSARMID |
The Siebel ARM ID of the parent Siebel ARM node from which the request traveled. |
ParentTimeID |
A unique ID number that generates from the starting time of the corresponding parent Siebel ARM node. |
ParentProcID |
The parent process ID, that is, the OS (operating system) process ID for the Siebel component. |
AreaCodeSymbol |
Symbol of the instrumentation area within the Siebel architecture. For information about Siebel architecture areas, see "About Siebel Application Response Measurement". |
AreaDescription |
Name of the instrumentation area within the Siebel architecture. For information about Siebel architecture areas, see "About Siebel Application Response Measurement". |
SubAreaCodeSymbol |
Symbol of the subarea within an area of the Siebel architecture. For information about Siebel architecture areas, see "About Siebel Application Response Measurement". |
SubAreaDescription |
Name of the subarea within an area of the Siebel architecture. For information about Siebel architecture areas, see "About Siebel Application Response Measurement". |
Count |
Number of times Siebel ARM accesses this Siebel ARM Node. |
SubArea |
Detailed instrumentation within an area of the Siebel architecture. For example, Siebel ARM captures response time for invoking a method (Invoke Method) or executing a step (Step Execution) within a Workflow execution. |
StartTime |
Internal representation of the Siebel ARM record time stamp. |
Duration |
Total time to execute the instrumented area. |
PooledMemoryUsage |
Amount of memory consumed from or released to the Siebel High Performance memory allocator. |
PooledMemoryCalls |
The number of calls made to the High performance memory allocator. |
SystemMemoryUsage |
Amount of memory consumed from or released to the operating system. |
SystemMemoryCalls |
The number of calls made to the operating system. |
UserInt1 |
Context information captured at the point of instrumentation. The value depends on the instrumented area. |
UserInt2 |
Context information captured at the point of instrumentation. The value depends on the instrumented area. |
UserString |
Context information captured at the point of instrumentation. The value depends on the instrumented area. For example, name of the method invoked or workflow process initialized. |
|
Context integer value captured at the point of instrumentation. The value depends on the instrumented area. |
|
Context string value captured at the point of instrumentation. The value depends on the instrumented area. For example, name of the method invoked or workflow process initialized. |
+<ChildNode> |
Expand this tag to reveal performance details on descendent nodes of the given node. The descendent nodes are defined the same as the parent node, that is, the tag definitions are the same as above. |
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
Running a user session trace analysis using Siebel ARM files from the Siebel Server results in an extensible markup language (XML) output file. The XML output file contains detailed information on each of the SWE requests made by the user identified when running the Siebel ARM file conversion.
If the user logs onto the system multiple times, the output shows that there are multiple sessions. The SWE requests are grouped into specific login sessions and sorted by the time the requests were made. For more information about the Siebel ARM architecture, see "About Siebel Application Response Measurement". For more information about creating this format of Siebel ARM output, see "Running User Session Trace".
The XML output file contains the following tag schema, which records the details of user session trace. The user session trace data also contains the tag schema of the performance aggregation analysis. For more information about those tags, see "About Performance Aggregation Analysis and Data".
<UserID> <Session> <SessionID> <UserActionID> <ID> <SWERequest> <ReqID> <TotalServerTime> <NetworkTime> <SiebServerTime> <DatabaseTime> <DatabaseCalls> +<SiebsrvrDetail>
For descriptions of each of the tags specific to the user session trace analysis, see Table 15-12. For descriptions of the tags that are also a part of the performance aggregation analysis, see Table 15-10.
Table 15-12 User Session Trace Tag Descriptions
Tag | Description |
---|---|
UserID |
User login name. For example, SADMIN. |
Session |
Specifies performance data captured for a specific user session contained within this tag. |
SessionID |
Refers to a unique user session ID in hexadecimal format. The first component of the Session ID refers to the Server ID, the second refers to the Process ID, and the last section to the Task ID. For example:
Server ID = Process ID = Task ID = |
UserActionID |
Data contained within this tag represents a specific individual action or request of the user. |
ID |
Number that identifies the specific user action or request in sequence for that particular user session. |
SWERequest |
Specifies performance timing data for the specific user action or request. |
ReqID |
An incremental numeric ID number corresponding to a Siebel Application Interface request. |
TotalServerTime |
Total request time on the servers (includes Siebel Server and network time). |
NetworkTime |
The total time spent between the Siebel Application Interface and the Siebel Server. This time can also include some Siebel infrastructure time routing the request to the handling Siebel Server task. |
SiebServerTime |
The time spent on the Siebel Server. |
DatabaseTime |
The time spent on the network when communicating to the database. |
DatabaseCalls |
The number of calls to the Siebel Server database connector layer. |
+<SiebsrvrDetail> |
Response time and execution time for each of the architectural areas of instrumentation for a given session. For more information about these tags, see "About Performance Aggregation Analysis and Data" and "About Call Graph Generation Analysis and Data". |
This topic is part of "Analyzing Siebel ARM Files Using the Siebel ARM Analyzer Tool".
CSV format is a comma-separated file without any interpretation or aggregation. The CSV file contains data organized under column headers. Use third-party software tools to view this output, for example, a spread sheet. For more information about creating this format of Siebel ARM output, see "Running Siebel ARM Data CSV Conversion". For a listing and description of these column headers, see the definitions of the tags for the call graph analysis in "About Call Graph Generation Analysis and Data". Information can be reviewed and organized by these columns. See Figure 15-1 for an example of CSV data.