Interpreting the table

Updated: May 06, 2022

As you examine the table, note the following:

As an example, let's look at the events for MsgSend(), MsgSendv(), and MsgSendvs(). As mentioned above, the information is the same for the restartable versions of these functions too.

Here's what the table gives for the entry (_NTO_TRACE_KERCALLENTER) to these functions:

Class: _NTO_TRACE_KERCALLENTER
Event: __KER_MSG_SENDV
Fast: coid, msg 
Wide: coid, sparts, rparts, msg[0], msg[1], msg[2]
Call: MsgSend,MsgSendv,MsgSendvs 
#Args: MSG_SENDV, fHcoid, Dsparts, Drparts, fSmsg, s, s

This part describes the __KER_MSG_SENDV trace event that's emitted on entry to the function. In fast mode, the event includes the following data:

Fast mode data Number of bytes for the event
Connection ID 4 bytes
Message data 4 bytes (the first 4 bytes usually comprise the header)
  Total emitted: 8 bytes

In wide mode, the event includes the following data:

Wide mode data Number of bytes for the event
Connection ID 4 bytes
# of parts to send 4 bytes
# of parts to receive 4 bytes
Message data 4 bytes (the first 4 bytes usually comprise the header)
Message data 4 bytes
Message data 4 bytes
  Total emitted: 24 bytes

The second (_NTO_TRACE_KERCALLEXIT) part describes the __KER_MSG_SENDV event that's emitted on exit from the function:

Class: _NTO_TRACE_KERCALLEXIT
Event: __KER_MSG_SENDV
Fast: status, rmsg[0] 
Wide: status, rmsg[0], rmsg[1], rmsg[2] 
Call: MsgSend,MsgSendv,MsgSendvs
#Args: MSG_SENDV, fDstatus, fSrmsg, s, s 

In fast mode, the event includes the following data if the kernel call was successful:

Fast mode data Number of bytes for the event
Exit status 4 bytes
Message data 4 bytes (the first 4 bytes usually comprise the header)
  Total emitted: 8 bytes

In wide mode, the event includes the following data if the kernel call was successful:

Wide mode data Number of bytes for the event
Exit status 4 bytes
Message data 4 bytes (the first 4 bytes usually comprise the header)
Message data 4 bytes
Message data 4 bytes
  Total emitted: 16 bytes

In both fast and wide mode, the event includes the following data if the kernel call failed:

Fast and wide mode data Number of bytes for the event
Exit status 4 bytes
Error code 4 bytes
  Total emitted: 8 bytes

For many of the events, you'll see a comment like this:

#Args: MSG_SENDV, fHcoid, Dsparts, Drparts, fSmsg, s, s

This line indicates how traceprinter displays the data associated with the event. The format codes are as follows:

Code Format
H Hexadecimal (32 bit)
D Decimal (32 bit)
X Hexadecimal (64 bit)
E Decimal (64 bit)
S Begin a character string
s Continue with a character string
P Pointer
N Named string
f Fast mode prefix

For example, fHcoid indicates that the connection ID (coid) is displayed as a 32-bit hexadecimal number, and it's included in fast mode (and wide mode).