When the
In addition, when you set the
For presentation client tracing, the
A separate trace file, opened for each application that is initiated, has the following format.
ThinClientTrace-<user-name>-<date>-<time>.log
Although a generated trace file on the application server contains the same information as that of a presentation client trace file, the entries in the trace file on the application server provide actual time gap information between each GUI logic statement that is called. You can therefore use them as an indication as to where performance issues might be. Comparing the file with a presentation client trace file also provides information about network performance issues.
The text Tracing is ON is displayed directly under the start-up status line on the splash screen when tracing is on.
When all requests made to and from the presentation client are traced (that is, the
Time of the message or request.
Message or request number.
Lines of output that do not have a message number indicate that the request is buffered with the previous message. Buffered requests are traced only when the
Time (in milliseconds) since the last message or request.
The name of the schema and application being initiated.
Direction in which the message or request was sent, represented by paired >> and << symbols. The >> symbols indicate a message or request from the presentation client to the application server and the << symbols indicate a message or request from the application server to the presentation client.
The processing depth (or stack) of the message or request (for example, #=1 or #=2).
Direction of the message or request, represented by paired Send and End statements or Received and End statements.
Send indicates a message or request from the presentation client to the application server and End indicates the completion of that request. Received indicates a message sent from the application server to the presentation client and End indicates the completion of that request. (These equate to the >> and << symbols and the << and >> symbols, respectively.)
Length (measured in bytes) of the message or request; for example, (len=3521).
Description (or reason) of the message or request (for example, the name of the control and the form on which it is defined followed by the . dot notation and the GUI attribute that was accessed).
When the
You can view the trace output file by using Notepad or a Windows editor. (The output file is cumulative; that is, records are appended to any existing records in the file.)
The following is an example of traced output to the log file when the
******* Thin Client trace file (version 1) opened: 23 November 2005, 13:28:45
legend: msg= is message transmission number
time= is milli-seconds since last msg
#= is processing depth
13:28:45 msg=1 time=310 >> #=1 Send (len=15) Check Software Version
13:28:45 msg=2 time=10 << #=1 End send (len=8)
13:28:45 msg=3 time=0 >> #=1 Send (len=3521) Sign on db
13:28:46 msg=4 time=992 << #=1 Received (len=10) printer.create
13:28:46 msg=5 time=0 >> #=1 End receive (len=12)
13:28:46 msg=6 time=120 << #=1 Received (len=843) app.initializePart 1
13:28:46 time=0 << #=1 End send (len=8)
13:28:46 msg=7 time=0 >> #=1 Send (len=11) Run the app
13:28:47 msg=8 time=621 << #=1 Received (len=28149) form.create
13:28:47 msg=9 time=60 >> #=1 End receive (len=480)
13:28:47 msg=10 time=100 << #=1 Received (len=10) Start-upFm.load called
13:28:47 time=0 << #=1 Received (len=53) external function call
13:28:47 msg=11 time=0 >> #=1 End receive (len=44)
13:28:47 msg=12 time=100 << #=1 Received (len=35) write
13:28:47 time=0 << #=1 Received (len=11)
Start-upFm.mousePointer
13:28:47 time=0 << #=1 Received (len=899) resizetest.bubbleHelp
13:28:47 time=0 << #=1 Received (len=10) Start-upFm.clear
13:28:47 time=0 << #=1 Received (len=52)
progressBar1.drawSolidRectangle
13:28:47 time=0 << #=1 Received (len=45)
progressBar1.drawSolidRectangle
13:28:47 time=0 << #=1 Received (len=53)
progressBar1.drawTextIn
13:28:47 time=0 << #=1 Received (len=11) Start-upFm.show
13:28:47 time=0 >> #=2 Send (len=12) Notify property change
13:28:47 time=0 >> #=2 Send (len=15) Notify property change
13:28:47 msg=13 time=0 >> #=1 End receive (len=8)
13:28:47 msg=14 time=0 << #=1 End send (len=8)
13:28:47 time=10 >> #=1 Send (len=21) Event:paint
13:28:47 msg=15 time=70 >> #=1 Send (len=11) Send queued requests
13:28:47 msg=16 time=0 << #=1 Received (len=52)
progressBar1.drawSolidRectangle
13:28:47 time=0 << #=1 Received (len=45)
progressBar1.drawSolidRectangle
13:28:47 time=0 << #=1 Received (len=53)
progressBar1.drawTextIn
13:28:47 time=0 << #=1 End send (len=8)
13:28:48 time=111 >> #=1 Send (len=12) Notify property change
13:28:48 msg=17 time=20 >> #=1 Send (len=11) Send queued requests
13:28:48 msg=18 time=0 << #=1 End send (len=8)
13:29:44 time=56050 >> #=1 Send (len=12) Notify property change
13:29:44 time=0 >> #=1 Send (len=15) Notify property change
13:29:44 msg=19 time=0 >> #=1 Send (len=49) Event:mouseDown
13:29:44 msg=20 time=30 << #=1 End send (len=8)
13:29:44 msg=21 time=0 >> #=1 Send (len=24) Event:gotFocus
13:29:44 msg=22 time=10 << #=1 Received (len=32) write
13:29:44 time=0 << #=1 End send (len=8)
13:29:44 msg=23 time=40 >> #=1 Send (len=21) Event:click
13:29:44 msg=24 time=0 << #=1 End send (len=8)
13:29:45 msg=25 time=1072 >> #=1 Send (len=28) Event:queryUnload
13:29:45 msg=26 time=0 << #=1 End send (len=12)
13:29:45 msg=27 time=0 >> #=1 Send (len=18) Event:unload
13:29:45 msg=28 time=10 << #=1 End send (len=8)
13:29:45 time=10 >> #=1 Send (len=11) Destroy window
13:29:45 msg=29 time=0 >> #=1 Send (len=11) Shutdown request
13:29:45 msg=30 time=10 << #=1 End send (len=8)
13:29:45 msg=31 time=0 >> #=1 Send (len=11) Call finalize
13:29:45 msg=32 time=0 << #=1 Received (len=18) printer.close
13:29:45 msg=33 time=0 >> #=1 End receive (len=12)
13:29:45 msg=34 time=10 << #=1 End send (len=8)
13:29:45 msg=35 time=0 >> #=1 Send (len=11) Sign off db
13:29:45 msg=36 time=80 << #=1 Received (len=10) closeOutputWindow
13:29:45 time=10 << #=1 End send (len=8)