Collecting Process Statistics
The SOAPAMCP process can be configured to collect statistics for web services calls. The statistics are collected in the process and periodically written to an entry sequenced file. The statistics file can then be processed by system monitoring software. SOAPam Client includes definition files necessary for direct integration with the Prognosis performance monitor. DDL source for the statistics file is also included for those customers who wish to implement custom analysis of the statistics.
Activating Statistics Collection
Statistics are activated by supplying the -statscfg option on the process startup command line and supplying the name of a valid statistics configuration file. Refer to Stats Configuration for more information on statistics configuration files. Note that multiple processes can concurrently write to a single statistics collection file.
Integrating with Prognosis
The SOAPam Client release contains two files necessary to integrate statistics collection with Prognosis. These files are:
PRGNCEXT | Prognosis extractor script for client statistics file |
PRGNCREC | Prognosis UDEFSREC record definition for the client statistics file. |
These file are for use with the Prognosis File Extractor product. The extractor must be configured as a LOG mode extractor using the extractor script and statistics file as parameters, for example:
tacl> EXTRACT LOG (FSCOL, $DATA1.SOAPAM.PRGNCEXT, $DATA1.SOAPAM.ZZCSTATS, 0, 100)
Refer to your Prognosis documentation for complete instructions on installing these files into Prognosis and configuring the Extractor.
Statistics DDL
The statistics file DDL source is contained in the file STATDDL included with the release. The DDL file contains documentation for each field in the statistics record.
How Statistics are Collected
Statistics data is collected internally in the SOAPAMCP process and periodically flushed to the statistics output file. Only the latest record in the statistics file for each web service request call contains the most recent data. The latest record can be determined using the TimeUpdt field. This collection mechanism allows monitoring processes such as Prognosis to monitor the statistics file for updates and read the latest entries for updated statistics information. The STATSCON utility can be used to consolidate a collection of statistics files into a single statistics record or CSV file containing only the latest information.
Statistics Data Column Descriptions
Detailed descriptions for the statistics data is shown below:
Column | Description |
---|---|
Rec Type | The record type for this record. Web service client records have the form RECTYPE-2.nn, where nn is the record version number. |
NodeName | The node name of the SOAPAMCP process. |
PathProc | The process name of the PATHMON that created the SOAPAMCP process. If the SOAPAMCP process was not launched by PATHMON, the column will contain "N/A". Refer to Determination of the Pathmon Process Name for more information. |
ProcName | The process name of the SOAPAMCP process. |
Tcp Name | The name of the TCP/IP process being used by the SOAPAMCP process. |
Svc Host | The host name of the service endpoint. The host name is extracted from the URL of the web service endpoint, either from the location attribute in the CDF or the -location command line option. |
Svc Addr | The IP address of the service endpoint. The IP address is resolved using the TCP/IP library gethostbyname() function with the supplied Svc Host name. |
Svc Port | The TCP protocol port of the service endpoint. The port is extracted from the host portion of the URL of the service endpoint. |
Svc URL | The URI portion of the endpoint URL. |
Svc Meth | The method name of that was invoked in the web service request. |
Svc Cnt | The number of time the method was invoked during the sample period. |
Svc Warn | The number of times the SOAPAMCP process returned a warning reply to the SOAPAMCP client. |
Svc Err | The number of times the SOAPAMCP process returned an error reply to the SOAPAMCP client. |
Svc Flts | The number of times the web service returned a SOAP fault to the SOAPAMCP process. The reception of a SOAP fault is returned to the SOAPAMCP client as an error and would be included in the Svc Err count. |
Svc TO | The number of times the SOAPAMCP process returned a timeout error to the SOAPAMCP client. A timeout error occurs when the web service does not respond within the time period specified by the -httprequesttimeout command line option or the request_timeout field in the SOAPAMCP request header. The timeout error is returned to the SOAPAMCP client as an error and would be included in the Svc Err count. |
Svc Canc | The number of times a request I/O from the SOAPAMCP client was cancelled. A cancel can occur when the SERVERCLASS_SEND_ or WRITEREAD(X) to the SOAPAMCP process times out or is explicitly cancelled by the client. The cancel may also occur if the SOAPAMCP process is a Pathway server, the server has a TIMEOUT period configured, and the TIMEOUT period expires. |
Req times† | The time taken to receive the request from the SOAPAMCP client. The request may consist of a single IPM or multiple IPMs if the request is streaming. |
Ser times† | The time taken to serialize the request IPM(s) into the SOAP request payload. |
Send times† | The time taken to transmit the web service request to the service endpoint over the TCP/IP network. This includes the transmission of the HTTP request line, HTTP headers, and SOAP payload. |
Svc times† | The time taken by the web service endpoint to process the request. |
Recv times† | The time taken to receive the web service response from the service endpoint over the TCP/IP network. This includes the reception of the HTTP status line, HTTP headers, and SOAP payload. |
Dser times† | The time taken to deserialize the SOAP response payload into the reply IPM(s). |
Rep times† | The time taken to send the response to the SOAPAMCP client. The reply may consist of a single IPM or multiple IPMs if the response is streaming. |
Totl times† | The total time taken for the web service request. This is the sum of the Req, Ser, Send, Svc, Recv, Dser, and Rep times. |
TimeRset | The collection time of the first data point for this data sample. |
TimeUpdt | The collection time of the latest data point for this data sample. |
TimeElap | The elapsed time of this data sample. |
†Columns with "times" designation represent three columns with the average, maximum, and minimum elapsed times for that data element. The elapsed times are in seconds.