Patent ID: 8910125

Claim:
A computer-implemented method of monitoring software performance in a computer, the method comprising: marking at least one of a load request and a store request to create at least one marked request, the at least one marked request including an effective instruction address and an effective data address; recording the effective instruction address and the effective data address in a first processor core of a plurality of processor cores; sending the at least one marked request to a memory subsystem; receiving a fabric response for the at least one marked request, the fabric response including at least one of a combined response, a retry count, a latency count, a transaction type (T-type), a data source, and a data system reference code (SRC), wherein the latency count includes latency associated with the at least one marked request that is caused by one or more interventions and latency caused by one or more retries; recording the fabric response in the first processor core; tying the effective instruction address, the effective data address, and the fabric response together in a sample; determining, based on the sample, a contention issue of the at least one marked request on an inter-processor connection fabric that interconnects the plurality of processor cores; and identifying a location within a program code where the contention issue is occurring and a type of the contention issue.