HTTP Response Status Test
HTTP response status codes are issued by a server hosting a web site/application in response to a client's request for a business transaction. For some of these transaction requests, the server may return error responses - for eg., HTTP response code 4xx is returned if a request contains bad syntax. It is important to identify such transactions quickly, figure out why the error response was returned, and initiate corrective measures, so that user experience with the web site/application remains unaffected. This is where the HTTP Response Status test helps!
Using this test, eG Node.js BTM automatically categorizes business transactions to a target web site/application based on HTTP response status codes. The codes monitored by default are as follows:
-
100 – 199 = Informational responses
-
200 -299 = Success responses
-
300 – 399 = Redirection responses
-
400 – 499 = Client errors
-
500 – 599 = Server errors
For each HTTP response-based transaction group, the test then reports the count of transactions for which the corresponding response status was returned. In the process, the test alerts administrators to transactions that return HTTP error responses. The detailed diagnostics point administrators to the precise transaction requests for which the error responses were returned by the server. By rapidly pinpointing problem transactions and the HTTP error they encountered, the test saves time and labor involved in troubleshooting the errors.
Target of the Test : A BTM-enabled Node.js application
Agent deploying the test : An internal/remote agent
Outputs of the test : One set of results is reported for each default and user-configured (if any) HTTP status code range that is configured for monitoring. For the All Responses descriptor, metrics are aggregated across all HTTP response codes.
Parameter | Description |
---|---|
Test Period |
How often should the test be executed. |
Host |
The host for which this test is to be configured. |
Port |
Specify the port at which the specified Host listens |
Specific Status Code List |
As mentioned already, this test monitors the following status code patterns by default: 1xx, 2xx, 3xx, 4xx, and 5xx. This is why, the Specific Status Code List is set to None by default. Sometimes however, application developers may custom-define new HTTP response codes to suit the needs of the application and its users. If the target application is associated with such codes, then you can configure this test to monitor these custom codes as well by providing a comma-separated list of these codes here - e.g., 700,805,901 |
Max Per Status Code DD List |
By default, for each status code, the detailed diagnosis of this test reports the top-10 transactions that returned a response of that code, starting with the oldest transaction. If the eG database in your environment is well-tuned and has space enough to store more number of transactions, then you may want detailed diagnostics to report more than 10 transactions. In this case, you can increase the value of this parameter. On the other hand, if you do not want to strain your eG database by adding more transaction records to it, then, you can choose to view less number of transactions as part of detailed diagnosis. For this, specify a number than less than 10 here. |
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Request processed |
Indicates the number of transaction requests that returned this HTTP response code during the last measurement period. For the All Responses descriptor, this measure will report the total number of transaction requests that were processed by the target web site/application during the last measurement period, regardless of their HTTP response code. |
Number |
Compare the value of this measure across HTTP response codes to know if error transactions were more than informational / successful transactions. If so, then user experience with the target web application is bound to be sub-par. Use the detailed diagnosis of this measure to know which transactions returned this HTTP response code. |
Requests processed per minute |
Indicates the number of transaction requests that returned this HTTP response per minute. For the All Responses descriptor, this measure will report the total number of transaction requests that the target web site/application processed per minute , regardless of their HTTP response code. |
Number |
Compare the value of this measure across HTTP response codes to determine if transactions returned error responses frequently. This is a cause for concern. |
Error page redirections |
Indicates the number of transaction requests with this HTTP response, which were redirected to error pages during the last measurement period. For the All Responses descriptor, this measure will report the total number of transaction requests that were redirected to error pages during the last measurement period, regardless of the HTTP response code of the transactions. |
Number |
Ideally, the value of this measure should be low. |
Status 2xx |
Indicates the percentage of transactions requests that returned HTTP response codes of the range 200-299. |
Percent |
HTTP response codes of the range 200-299 represent successful responses. Such a response implies that the request was successfully received, understood, and accepted. A high value of this measure is hence desired. This measure is reported only for the All Responses descriptor. |
Status 3xx |
Indicates the percentage of transactions requests that returned HTTP response codes of the range 300-399. |
Percent |
HTTP response codes of the range 300-399 represent redirection responses. Such a response implies that further action needs to be taken in order to complete the request. Ideally, the value of this measure should be low. This measure is reported only for the All Responses descriptor. |
Status 4xx |
Indicates the percentage of transactions requests that returned HTTP response codes of the range 400-499. |
Percent |
HTTP response codes of the range 400-499 represent client errors. Such a response implies that the request contains bad syntax or cannot be fulfilled. Ideally, the value of this measure should be low. This measure is reported only for the All Responses descriptor. |
Status 5xx |
Indicates the percentage of transactions requests that returned HTTP response codes of the range 500-599. |
Percent |
HTTP response codes of the range 500-599 represent server errors. Such a response implies that the server failed to fulfill an apparently valid request. Ideally, the value of this measure should be low. This measure is reported only for the All Responses descriptor. |