Configuring trace on the web server plug-in
By configuring tracing, you can define what trace information to gather from your environment.
About this task
There are two types of processing in the plug-in: request processing and control processing. Request processing consists of any logic that is required to process an HTTP request, or the HTTP response from the origin server. Control processing is any processing that does not fall into the request processing category. For example, all communication with the REST service to discover routing information is considered control processing.
- Default trace hierarchy
- If the default trace specification is set, the control trace specification is used.
- If no default trace specification is set, the
NOTICE
trace level is used.
- Request trace hierarchy
- If a rule matches a request, the trace specification of this rule is used.
- If the rule does not match the request, and the
DefaultRequestTraceSpec
property is set, the trace specification inDefaultRequestTraceSpec
property is used. - If the rule does not match the request, the
DefaultRequestTraceSpec
property is not set, but the control trace specification is set, then the control trace specification is used. - If none of these specifications are set, the
NOTICE
trace level is used.
Use the subexpression builder to build complex rule conditions from subexpression by using AND, OR, NOT, and parenthetical grouping. The rule builder validates the rule when you apply the changes, and alerts you to mismatched parentheses, and unsupported logic operators.
The operand is part of the classification rule that the run time uses to match a rule to a job. For instance, if you specify a protocol type equal to HTTP, the runtime searches for a job that has a protocol type of HTTP. The following list includes operand choices:
Operand | Syntax | Description |
---|---|---|
Virtual host |
virtualhost |
Virtual host target of the request, which is used for configuring web applications to a particular host name. |
Virtual port |
numeric |
Virtual port target of the request, which is used for configuring web applications to a particular port. |
URI |
uri |
Uniform Resource Identifier Helps you
identify the path of the request: if the URL is http://host:port/path?p1=v1,
the path is |
User ID |
userid |
Returns the user ID for the authenticated user who sent the request. |
Group ID |
groupingid |
Returns a list of group names for the authenticated user who sent the request. |
Request query parameter name |
queryparm$<name> |
A header name and value. For example, the
expression queryparm$timezone='EST' tests a
request to see whether the request contains an HTTP query parameter
named
timezone with a value of EST .
To test for presence or absence of a query parameter, use one of
the following forms:
|
Request header name |
header$<name> |
A header name and value. For example, the
expression header$Host='localhost' tests a
request to see whether it contains an HTTP host header with a value
of
localhost . To test for presence or absence
of the host header, use one of the following expressions:
|
Cookie header name |
cookie$<name> |
A cookie name. For example, the expression cookie$My_Cookie_Name='My_Cookie_Value' tests
a request to see whether it contains a cookie named
My_Cookie_Name with
a value of My_Cookie_Value . To
test for the presence or absence of a particular cookie, use one of
the following expressions:
|
HTTP method |
HTTPMethod |
The HTTP method for the request. Possible values are POST, GET, PUT, and DELETE. |
Client host |
clienthost |
The fully qualified client host name. This value
is the Internet Protocol (IP) command host name. This operand does
not support numeric operators such as >, >=, <, <= . |
Client IPV4 |
clientipv4 |
The IP address of the client using the Internet Protocol version 4 (IPv4) dotted quad address type n.n.n.n. |
Client IPV6 |
clientipv6 |
The Internet Protocol version 6 (IPv6) 128-bit address type of x:x:x:x:x:x:x:x following Request for Comments 1924 (RFC 1924) of the client computer. |
Server host |
serverhost |
The fully qualified host name of the server.
This operand does not support numeric operators such as >,
>=, <, <= . |
Server IPV4 |
serveripv4 |
The IP address of the server computer using the IPv4 dotted quad address type n.n.n.n. |
Server IPV6 |
serveripv6 |
The IPv6 128-bit address type of x:x:x:x:x:x:x:x following RFC 1924 of the server computer. |
Port |
port |
The listening port on which the request was received. |
Protocol |
protocol |
The communications protocol that transmits the request. Currently supported protocols are HTTP, HTTPS, SOAP, and SOAPS. |
Time |
time |
Used to define the date and time of day that
a specific request must be honored. Two optional fields are The Start Time and End Time fields each have the following format: dayOfWeek/dayOfMonth/month/year::hour:minute:second. For example, Thursday, the 11th of April, year 2007 at 1:03:45 PM is specified as: Thu/11/Apr/2007::13:03:45 Any field can use a wildcard with the value *. For example, the first of each month is specified
as The The The The The forward slash (/) is used to
separate date parameters, the double colon (::) is used to separate
the date parameters, and the colon (:) is used to separate the time
of day parameters. The Boolean result of the entire rule in which
the |
Percentage |
percentage$<val> |
The percentage operand evaluates to true ,
a fixed percentage of the time. For example, |
Ramp up |
rampup$<startTime>$<completionTime> |
The rampup operand evaluates
to true a variable percentage of the time. It always
evaluates to false before <startTime> and
to true after <completionTime> .
As time progresses from <startTime> to <completionTime> ,
it evaluates to true , a linearly increasing percentage. The
format of day is
the day of the month, month is one of the 12 months:
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, year is
the four digit year, hour is the two digit hour of
the 24 hour clock, min is the two digit value for
minute, and sec is the two digit value for minute.
For example, rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 begins to occasionally evaluate totrue at 8 AM on Jan 1,
2007 and always evaluates to true by ramp up completion
time at 5 PM of the same day. |
Depending on the operator that you choose, enter a
value for the subexpression that you want to create. All operators
evaluate to boolean values. Operators are not case-sensitive: AND
is
equivalent to AnD
.
Operator | Description |
---|---|
Equals Ignore Case (EQUALSIGNORECASE) | Equals ignore case operator. The case of the
strings is ignored. 'ABC' EQUALSIGNORECASE 'abc' is
true. ('ABC' = 'abc') is false. |
Not Equals (< >) | The not equal operator expresses that the operand value is not equal to the value you enter. |
In (IN) |
|
Like (LIKE) | Expresses pattern matching for string operand
values. The value must contain the wildcard character ( For example, the expression:
matches the word blanca
and any other word that ends in blanca, while the expression:
matches the word blanca
and any other word that starts with blanca. The expression:
matches the word
blanca and any word that has the token blanca embedded in it. |
Like Ignore Case (LIKEIGNORECASE) | This operator expresses pattern matching for string operand values. The case of the strings is ignored. |
Is Not Null (IS NOT NULL) | A validation of the query shows that the requested parameter exists. |
Concatenate (+) | This operator evaluates 'abc'+'def' to 'abcdef' . |
Like In (LIKEIN) | This operator expresses string likein
(string1, string2, string3,...)
evaluates to true if the string preceding likein matches one or more of the strings
(stringN). |
Is Null (IS NULL) | A validation of the query shows that the requested
parameter does not exist. Tests for an operand that has a NULL value. |
Equals ( = ) | The equality operator expresses a match in case-sensitive match. |
Greater Than (>) | Evaluates to the standard logical result. |
Greater Than or Equals (>=) | Evaluates to the standard logical result. |
Less Than (<) | Evaluates to the standard logical result. |
Less Than or Equals (<=) | Evaluates to the standard logical result. |
Between (BETWEEN) | Used with AND to select a range
of values inclusive of the first (low) value and the last (high) value.
Together, they operate on numbers and dates values. |