An apparatus comprising: a host processing unit comprising a central processing unit, CPU; a fabric coupled to the CPU, a first agent, a second agent, and a debug agent, the debug agent to be coupled to an external debugger, wherein the first agent is to provide transactions to the second agent without accessing the CPU; characterized by: a fabric trace hook disposed within the fabric, the fabric trace hook, in response to detecting a transaction provided from the first agent to the second agent without accessing the CPU, programmable in one of the following modes: triggering mode, wherein when the transaction matches a specific transaction, a trigger is set, wherein the trigger is to be received by the debug agent; on-die logic analyzer trigger completion tracking, ODLAT, triggering mode, wherein an ODLAT mechanism is used to track a read completion and generate a subsequent trigger when a read response returns, wherein the trigger is to be received by the debug agent; a first capture mode, wherein the command fields and a configurable amount of data of one or more succeeding transactions flowing from the first agent to the second agent are captured, wherein the succeeding transactions are to be sent to the debug agent; and a second capture mode, wherein the command fields of one or more succeeding transactions flowing from the first agent to the second agent are captured wherein the succeeding transactions are to be sent to the debug agent; a mask/match register to be programmed by a software program executed from within the external debugger, the mask/match register to be accessed by a sideband interface between the debugger and the fabric trace hook, wherein the mask/match register determines the transaction to be monitored and, in the triggering mode, is used to trigger on the specific transaction; a queue to receive the one or more captured succeeding transactions; and a run-time configuration register programmable by the software program via the sideband interface during run-time operation, the run-time configuration register, when initialized, to program the fabric trace hook in one of the triggering mode, ODLAT mode, first capture mode and second capture mode. a host processing unit comprising a central processing unit, CPU; a fabric coupled to the CPU, a first agent, a second agent, and a debug agent, the debug agent to be coupled to an external debugger, wherein the first agent is to provide transactions to the second agent without accessing the CPU; characterized by: a fabric trace hook disposed within the fabric, the fabric trace hook, in response to detecting a transaction provided from the first agent to the second agent without accessing the CPU, programmable in one of the following modes: triggering mode, wherein when the transaction matches a specific transaction, a trigger is set, wherein the trigger is to be received by the debug agent; on-die logic analyzer trigger completion tracking, ODLAT, triggering mode, wherein an ODLAT mechanism is used to track a read completion and generate a subsequent trigger when a read response returns, wherein the trigger is to be received by the debug agent; a first capture mode, wherein the command fields and a configurable amount of data of one or more succeeding transactions flowing from the first agent to the second agent are captured, wherein the succeeding transactions are to be sent to the debug agent; and a second capture mode, wherein the command fields of one or more succeeding transactions flowing from the first agent to the second agent are captured wherein the succeeding transactions are to be sent to the debug agent; triggering mode, wherein when the transaction matches a specific transaction, a trigger is set, wherein the trigger is to be received by the debug agent; on-die logic analyzer trigger completion tracking, ODLAT, triggering mode, wherein an ODLAT mechanism is used to track a read completion and generate a subsequent trigger when a read response returns, wherein the trigger is to be received by the debug agent; a first capture mode, wherein the command fields and a configurable amount of data of one or more succeeding transactions flowing from the first agent to the second agent are captured, wherein the succeeding transactions are to be sent to the debug agent; and a second capture mode, wherein the command fields of one or more succeeding transactions flowing from the first agent to the second agent are captured wherein the succeeding transactions are to be sent to the debug agent; a mask/match register to be programmed by a software program executed from within the external debugger, the mask/match register to be accessed by a sideband interface between the debugger and the fabric trace hook, wherein the mask/match register determines the transaction to be monitored and, in the triggering mode, is used to trigger on the specific transaction; a queue to receive the one or more captured succeeding transactions; and a run-time configuration register programmable by the software program via the sideband interface during run-time operation, the run-time configuration register, when initialized, to program the fabric trace hook in one of the triggering mode, ODLAT mode, first capture mode and second capture mode.