The xTracePn and xTraceSn macros function much the same way as the xTracen macros, except that they take a Protl or Sessn as their first parameter (instead of a trace variable) and they print the protocol instance name before the rest of the trace statement. This turns out to be very useful when reading an x-kernel trace where several protocols were interleaving trace statements. We recommend using the xTracePn and xTraceSn macros whenever you have an appropriate Protl Sessn in scope, using the xTracen macros only when there is no such Protl or Sessn available.
xTracePn(Protl protocol, int tracelevel, char *formatstring, args, ...) xTraceSn(Sessn session, int tracelevel, char *formatstring, args, ...)