This topic has been updated for build 1823.
The Relay Server Record (RSR) consists of a concise summary of Relay Server processing and includes information about requests, timing, affinity information, request status, and data volumes. You can use the RSR to diagnose relay failures and study performance characteristics.
The Relay Server Record is generated as part of the Relay Server log when verbosity is set to 1 or higher.
The RSR is a single line in the Relay Server log containing many values that together summarize an HTTP request. To assist in interpreting Relay Server Records, the Relay Server log file contains a header describing the RSR values. The header line is composed of symbols that are also described in the file. The symbols use the following convention:
Symbol | Data type |
---|---|
b: | Byte count |
c: | Other count |
i: | ID or numeric code |
m: | Time measured in milliseconds |
x: | Hex number |
name:string | Variable length named string values. This may include: Relay Server error names, Relay Server error parameters, and SAP Passport information. |
oe | Element reported by the Outbound Enabler |
up | Element associated with the request (excluding the response) from the Relay Server to the backend |
rtp | Element associated with round-trip transport and processing of the last up and first down packet |
dn | Element associated with the request (excluding the response) from the backend to the Relay Server |
in | Time spent waiting for input to read |
out | Time spent waiting for input to write |
A.B | This notation indicates that B is a child component, sub-process, or an aspect of A. |
pkt/packet | Refers to the packet created by the Relay Server and/or the Outbound Enabler for communication over the up/down channel |
The symbols are compounded together (as field names) to refer to particular kinds of data. For example, m:up.out corresponds to the sum of time (m:) spent in the up channel (up) writing packets (.out) within the relaying period. The dot notation (.) also indicates that out is a sub-process of up.
Field name | Data type | ||||||||
---|---|---|---|---|---|---|---|---|---|
x:sfp | Session fingerprint (a component of affinity information) | ||||||||
i:oe.sidx | Session index assigned by the Outbound Enabler | ||||||||
flag[0] | Affinity decision; Values: n=new, c=continue, h=homed, r=renew x=expired. new indicates a new affinity; continue indicates a subsequent request in an established affinity session; homed indicates a new affinity with the designated backend server; renew indicates that there is a collision, so the affinity information is renewed and a new section is opened up; expired indicates that the Relay Server has signaled the client to expire the affinity cookie. | ||||||||
flag[1] | Request persistence; Values: p=persistent, n=non-persistent | ||||||||
flag[2] | Request transfer encoding; Values: k=chunked, l=content-length | ||||||||
flag[3] | Response persistence; Values: p=persistent, n=non-persistent, u=unknown | ||||||||
flag[4] | Response transfer encoding; Values: k=chunked, l=content-length, u=unknown | ||||||||
b:up | Request size in bytes | ||||||||
b:dn | Response size in bytes | ||||||||
c:up:pkt | Number of upward request packets sent to the Outbound Enabler | ||||||||
m:up | Request relaying period involving interleaving reads from the client, writes to the up channel, and request packetization | ||||||||
m:up.in | Sum of time spent waiting for request payload from the client within the request relaying period | ||||||||
m:up.out | Sum of time spent writing packets to the up channel within the relaying period | ||||||||
m:rtp | Round-trip processing period from the sending of the last request packet to the receiving of the first response packet between the Relay Server and the backend server, including the backend processing time | ||||||||
m:oe:rtp | Round-trip processing period from the sending of the last request packet to the receiving of the first response packet between the Outbound Enabler and the backend server, including the backend processing time | ||||||||
m:rtp:kpi | Round-trip relay processing and transport time of the last request packet and the first response packet between the Relay Server and the Outbound Enabler, calculated as (m:rtp - m:oe.rtp) | ||||||||
c:dn.pkt | Number of downward response packets received from the Outbound Enabler | ||||||||
m:dn | Response relaying period involving interleaved reads from the down channel and writes to the client | ||||||||
m:dn.in | Sum of time spent waiting for response packets from the down channel within the response relaying period | ||||||||
m:dn.out | Sum of time spent waiting for writing response payload to the client within the response relaying period | ||||||||
m:oe.dn | Response receiving period observed by the Outbound Enabler. This period overlaps with time counted in m:dn.in and m:dn.out | ||||||||
m:close | Elapsed time between the end of m:dn and exiting the rs_client extension | ||||||||
b:dn.maxLQ | Peak memory usage of the local response packet queue of this request | ||||||||
c:dn.maxSQ | Peak number of response packets in the shared memory response packet queue of this request | ||||||||
i:dn.stts | HTTP response status | ||||||||
i:err | Error ID | ||||||||
i:warn | Warning ID | ||||||||
m:appTO | Application timeout of the request | ||||||||
err | Name of the error | ||||||||
warn | Name of the warning | ||||||||
oe.err | Name of the Outbound Enabler error | ||||||||
oe.err.p0 | First error parameter from the Outbound Enabler | ||||||||
oe.err.p1 | Second error parameter from the Outbound Enabler | ||||||||
oe.err.p2 | Third error parameter from the Outbound Enabler | ||||||||
up.ua | User agent header of the request | ||||||||
up.uq | URL query parameters in name=value pairs. This can be useful for tagging information within the request when SAP Passports are not available. | ||||||||
up.AfHdr | Affinity | ||||||||
up.cookie | Cookie header in request | ||||||||
N/A |
Composite request prefix (located at the end of each line):
For example:
|
A Relay Server Record looks similar to the following sample:
I. 2012-11-09 02:35:11.296-0500 RSR header: x:sfp i:oe.sidx flag b:up b:dn | c:up.pkt m:up m:up.in m:up.out | m:rtp m:oe.rtp m:rtp.kpi | c:dn.pkt m:dn m:dn.in m:dn.out m:dn.oe | m:close | b:dn.maxLQ c:dn.maxSQ | i:dn.stts i:err i:warn | m:appTO ...other-variable-length-elements... I. 2012-11-09 02:35:38.192-0500 RSR row: d9d72990 0 npkpk 1024477 1031252 | 444 2366 2305 0 | 1001 999 2 | 107 17764 0 17741 24 | 0 | 953152 87 | 200 0 0 | 60000 <err:RSE_NO_ERROR> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:> <up.cookie:> <11436.4592.F0B0S0R0> <RSTEST02.F0> <S0> I. 2012-11-09 02:36:02.278-0500 RSR row: d9d72990 0 cpkpk 1024534 1031211 | 428 2440 2379 0 | 1000 999 1 | 124 17763 0 17741 22 | 0 | 951657 109 | 200 0 0 | 60000 <err:RSE_NO_ERROR> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:ias-rs-sessionid="kCnX2QAAAAAAAAAAUzAA";> <up.cookie:> <11436.4592.F0B0S0R0> <RSTEST02.F0> <S0> I. 2012-11-09 02:36:26.515-0500 RSR row: d9d72990 0 cnknk 1024529 1031230 | 400 2440 2379 0 | 1000 999 1 | 153 17924 0 17899 22 | 0 | 942016 114 | 200 0 0 | 60000 <err:RSE_NO_ERROR> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:ias-rs-sessionid="kCnX2QAAAAAAAAAAUzAA";> <up.cookie:> <11436.4592.F0B0S0R0> <RSTEST02.F0> <S0> I. 2012-11-09 02:36:31.830-0500 RSR row: 63685111 4294967295 upkuu 1024000 0 | 0 0 2379 0 | 0 0 0 | 0 0 0 0 0 | 2439 | 0 0 | 0 1001 0 | 60000 <err:RSE_ROOT_FARM_NOT_FOUND_BY_CLIENT> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:> <up.cookie:> <11436.4592.-> I. 2012-11-09 02:36:34.397-0500 RSR row: 592cbcd2 4294967295 upkuu 1024000 0 | 0 0 2362 0 | 0 0 0 | 0 0 0 0 0 | 2422 | 0 0 | 0 1001 0 | 60000 <err:RSE_ROOT_FARM_NOT_FOUND_BY_CLIENT> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:> <up.cookie:> <13896.6936.-> I. 2012-11-09 02:36:36.964-0500 RSR row: de525dfc 4294967295 unkuu 1024000 0 | 0 0 2361 0 | 0 0 0 | 0 0 0 0 0 | 2422 | 0 0 | 0 1001 0 | 60000 <err:RSE_ROOT_FARM_NOT_FOUND_BY_CLIENT> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:> <up.cookie:> <7160.7896.-> I. 2012-11-09 02:36:58.638-0500 RSR row: dff5c798 1 npkpk 1024477 1031252 | 285 2440 2377 0 | 1001 1000 1 | 21 17927 2 17911 51 | 0 | 865392 9 | 200 0 0 | 60000 <err:RSE_NO_ERROR> <warn:RSW_NO_WARNING> <oe.err:N/A> <oe.err.p0:> <oe.err.p1:> <oe.err.p2:> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:> <up.cookie:> <7160.7896.F0B0S1R0> <RSTEST02.F0> <S0> I. 2012-11-09 03:53:12.359-0500 RSR row: 87293f45 0 cnluu 1515 0 | 2 1 0 0 | 0 0 0 | 1 0 0 0 0 | 1 | 0 0 | 0 4015 103 | 120000 <err:RSE_CLIENT_RSOE_REPORT_SESSION_ERR> <warn:RSW_CONTENT_LENGTH_RESPONSE_NOT_COMPLETED> <oe.err:OEE_RS_IDX_NOT_FOUND(1029)> <oe.err.p0:61166> <oe.err.p1:_unused_> <oe.err.p2:_unused_> <up.userAgent:RSTestClient> <up.uq:> <up.AfHdr:ias-rs-sessionid=RT8phwAA7u4AAAAAUzAA> <up.cookie:> <7800.11500.F0B0S0R0> <RSTEST02.F0> <S0> |
![]() |
Discuss this page in DocCommentXchange.
|
Copyright © 2014, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |