There are basically three parts. First, you enable Siebel ARM so that data is collected. Then, you run a utility to format the data so that you can read it and possibly perform some preliminary analysis. Finally, you analyze the data. This is the second point release of the utility (Siebel 7.5 was the first release). As such, the formatting and analyzing are manual steps. In the future, there should be improvements in the way the data is displayed to assist with analysis. However, even in its current form, this utility is very valuable since it makes information available that was previously not accessible. Explain: ARM API 2.0 support does not mean “compliance” (more on this later). Performance Tuning Guide Reference
Emphasize that sarmanalyzer output is not an end-all solution. Further analysis (manual or automated) is anticipated. Explain the types of sarmanalyzer output and how each can be used to monitor and/or diagnose performance issues by process (area), sessions and requests, or raw call graph (XML or CSV) data. Aggregation and user session trace analyses provide analytic (statistical summary) results by Siebel components and user sessions and requests, respectively. They are typically useful as first-line approaches for high-level, summary analysis. They are easy to perform and thus well suited for monitoring and high-level reporting against a baseline. Raw call graph data (XML or CSV) does not provide analytic results. Instead, it provides all Siebel ARM output. Files are larger, and overheads higher. Therefore, they are not well suited for in-production system monitoring, but are very useful for deep-dive diagnostic analysis and troubleshooting.
Explain the various arguments and types of data produced by sarmanalyzer. The –f and –o options indicate the input Siebel ARM log files and XML output file. sarmanalyzer arguments are different for Siebel 7.5.3 and Siebel 7.7. Also, in Siebel 7.7, sarmanalyzer automatically concatenates multiple input files during aggregation analysis, and automatically identifies and combines corresponding Siebel ARM log files from the Siebel Server and Web server during user session trace analysis. See Performance Tuning Guide (Version 7.5.3) for details. Siebel 7.5.3 Versus Siebel 7.7
Define and describe the various terms, concepts, relationships, and sections of raw CSV data including: SarmID, RootID, ParentSarmID, ThreadID, IsRoot, area and subarea descriptors and other fields not shown (including AppString). 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. For our purposes, you can think of “SARM record” and “SARM node” as being synonymous. SARM Node (or Record) Flag that specifies whether this is a root Siebel ARM node. A node is the root when SarmID = RootID. IsRoot The parent SarmNode from which the request traveled. ParentSarmID The SarmID of the root Siebel ARM node. RootID A unique number representing the Siebel ARM node SarmID
Siebel ARM parameters are set using Siebel Server parameters and environment variables. In Siebel 7.7, you no longer need to restart the Siebel Server for the parameter changes to take effect. Siebel 7.5.3 Versus Siebel 7.7
Explain the various parameter (their settings, impact and when to use them) for configuring Siebel ARM. SARMLevel and SARMPeriod are new for Siebel 7.7 and, respectively, allow an administrator to set the level-of-detail reported and period of time between buffer writes (Siebel Server only). Siebel 7.5.3 Versus Siebel 7.7
There are eight rows in this table. You will note that all records share a common root (Application Server area with response time of 32440 and SarmID 13722). As you drill down the call graph by traversing parent-to-child SARM nodes, durations gradually decrease with each next step. If you were to traverse the records in reverse order (bottom-up) you would notice that the times accumulate (or roll up) as you go. For example, the Workflow area with SarmID of 13871 has a duration of 30037, which is part of the 32440 seen for the Application Server. Because of the nature of the Siebel ARM data hierarchy, not all of the rows that add up to the total of 32440 are show in this table. These detailed records will be exposed later in this analysis.
At some point, when diagnosing user session trace analysis, you are likely to need more data or additional tools.
What is Siebel SARM
A Standards Based tool for capturing and analyzing (or preparing for analysis) performance information from the Siebel Server and SWSE
Includes a tool to compile and convert data for analysis and study in other tools, and a CSV converter for basic analysis
Is compatible with any ARM Analysis Tool
Gathers information at different points in the Siebel Server, Siebel Web Server Extension, Siebel Server Components like the Object Manager etc
Generates SARM files in the LOG directory of the Server and the SWSE
Maximum file size (bytes) Default: 15,000,000; No upper limit SIEBEL_SARMFileSize SARMFileSize SARM Data File Size – maximum size of a SARM File Per component instance Default: 4; No upper limit SIEBEL_SARMMaxFiles SARMMaxFiles SARM Max Number of Files – number of SARM files in LOG directory (Siebel Server only) Buffer flush period (minutes) Range: 1 – 60; Default: 3 SIEBEL_SARMPeriod SARMPeriod SARM Period – how often the buffer is emptied In-memory buffer size (bytes) Range: 100,000 – 50,000,000 Default: 5,000,000 SIEBEL_SARMBufferSize SARMBufferSize SARM Buffer Size – size of memory buffer Level-of-detail 0 (off) 1 (monitoring) 2 (diagnostics) SIEBEL_SARMLevel SARMLevel SARM Granularity Level Description Environment Variable Parameter Alias Parameter Display Name