1. A machine implemented method for monitoring transactions, comprising the steps of: monitoring a transaction that is executed by a first application, the monitoring performed by a first software entity at a first computing device; generating performance data that relates to execution of the transaction by the first application, the performance data is generated by the first software entity based on monitoring the transaction; monitoring, by a second software entity, the transaction while the transaction is being executed by a second application, the transaction is executed by the second application based on a request from the first application, the second software entity resides on the same or a different computing device as the first software entity; determining that the first software entity should report the performance data, the determining is based on the monitoring performed by the second software entity; propagating data that indicates that the first software entity should report the performance data, the data is propagated based on determining that the first software entity should report the performance data; and reporting the performance data to a third software entity that executes on a second computing device, the performance data is reported to the third software entity by the first software entity in response to the first software entity receiving the propagated data.