Dump Formatter Technical Details
· Snapshot terminal dumps and full 4690 terminal dumps contain the device history buffers maintained by the InSightterminal agent.
· The InSightdump formatter locates raw information in the dump files and generates text output in files with names ending in “.out”. For example, adxcsltf.outis the output of running the formatter against adxcsltf.dat. 001snapd.out is the output of running the formatter against a terminal 1 snapshot dump 001snapd.nnn.
· Theformatter is automatically run by the controller agent and the .out files are bundled into the dump archive files. When these archives are collected and unzipped, the .out files should be there.
· Device i/ohistory is contained in the output file. An important concept to remember is that a device i/oevent is typically sent to two different history queues. There is a queue for each device and there is a global queue. ‘Per-device history events’ refers to the device queue and ‘Global device history events’ refers to the global queue.
· Thereason for having device specific queues in addition to the global queue is to guarantee that some amount of device history information is available for each device. If there was only a global queue, mass i/oto a single device (such as downloading images to a printer) would use up the entire global buffer space.
· Theglobal history buffer is larger than the per-device buffers. The idea is to have a minimum amount of per-device history and a decent amount of global history available.
· Device channel trace history buffers are separate from the application interface history buffers. There is no global device channel history buffer by default. A global device channel history buffer is only allocated if live device channel monitoring is started. Once allocated, the global devChanbuffer remains and is used until terminal restart.
· To summarize, when looking at a .out file to review device i/o for a particular device, there are possibly 4 sections that may contain what is being looked for: per-device, global, devChanper-device, and devChanglobal. Since device channel tracing is only possible for the printer and serial devices, most devices only have data in up to 2 sections. Since devChanglobal is only allocated if live monitoring occurred, there will often only be 3 sections to look at for serial and printer devices. Finally, for printer devices, there is an additional devChanbuffer dedicated to printer read data (that’s a total of 5 possible sections). This printer devChanread buffer ensures that a minimum number of the most recent printer status messages are available.
· Aneditor with the ability to find all occurrences of a string and to hide lines not containing that string helps productivity greatly when analyzing .out file data. For example, you can quickly narrow in all i/oto a 2x20 display by searching for ‘ AnDsp’ which is a tag string occurring on every 2x20 display line.
Serial2|msec 779.705|11:38:39|SeqNum 27062|
Ser2Recv 0000: 06 * *
AnDsp|msec 779.705|11:38:39|SeqNum 27063|startOfs 0|len 40|
AnDsp|msec 779.706|11:38:39|SeqNum 27066|startOfs 0|len 11|TEST ITEM 1
AnDsp|msec 779.706|11:38:39|SeqNum 27067|startOfs 20|len 20| 1.00
AnDsp|msec 779.709|11:38:39|SeqNum 27071|startOfs 20|len 4|BKP*
Tone | msec 779.783|11:38:39|SeqNum 27072|ON|freq 1000|duration 500
AnDsp|msec 779.783|11:38:39|SeqNum 27073|startOfs 0|len 20|A005 KEY SEQUENCE
AnDsp|msec 779.783|11:38:39|SeqNum 27075|startOfs 20|len 20| REQUIRES DATA
DChnW|S2|msec 826.439|11:39:26|SeqNum 28964|ID 02( xmit )|Port 11|Addr 65|lCtrl ??|
Command: 08=Transmit
xmitdata 0000: 0232 392E 3130 3030 3037 3132 0323 * 29.10000712 # *
DChnR|S2|msec 826.448|11:39:26|SeqNum 28967|ID 02( xmtACK )|Port 11|Addr 65|lCtrl n/a|
DChnR|S2|msec 826.466|11:39:26|SeqNum 28971|ID 01( recv )|Port 11|Addr 65|lCtrl ea |
StatusByte1: 50 StatusByte2: 46 CRC: D431
StatusByte1: TimerOverFlowRcvBuff2NotEmpty
StatusByte2: Initialized RTS DTS
recvdata 0000: 06 * *
· Formatted output field descriptions:
o lCtrl is rs485 ( sdlc) link control byte. This is only available for recvframes unless low level tracing is enabled.
o ‘ xmtAck’ is notification that the 4690 device channel driver gives back to the upper layer driver (i.e. serial driver) that says that device has acknowledged receipt of the previous xmit.
o SeqNum – this is an InSightterminal agent sequence number. Every event put into any InSighthistory buffer increments the sequence number.
o Timestamp info. A running millisecond timestamp is used to timestamp all trace entries. Periodically (for example, at buffer wrap), the terminal agent also logs a date/time event to each of the trace queues. The date/time event contains the clock date/time as well as the current msectimer value. The formatter logs the msectime and the most recent clock date/time for each event.
· The following, taken from an actual .out file, shows the section identifiers that delineate the various device output sections in a .out file:
Begin Global Device Channel Events
End Global Device Channel Events
Begin Specific Device DeviceChannel Events (All Events Combined)
List of Events for InSightDevice Channel Printer
List of Events for InSightDevice Channel pir01>>
List of Events for InSightDevice Channel pir02>>
List of Events for InSightDevice Channel pir03>>
End Device Specific Device Channel Events (All Events Combined)
Begin Specific Device DeviceChannel Events (Read Events)
List of Events for InSightDevice Channel Printer
End Specific Device DeviceChannel Events (Read Events)
List of Events in InSightGlobal Buffer
End of Global Device Events
Begin Specific Device Events
List of Events for InSightDevice Cash Drawer
List of Events for InSightDevice pir01>>
List of Events for InSightDevice pir02>>
List of Events for InSightDevice pir03>>
List of Events for InSightDevice Printer
List of Events for InSightDevice AnDisplay
List of Events for InSightDevice AnDisplay
List of Events for InSightDevice Keyboard
End of Device Specific Events
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |