Web services and other network-based applications may be employed to store and retrieve data on behalf of numerous users. In some cases, use of the service may be exchanged for a fee. In other cases, a customer may contract with a third party to host a service on behalf of the customer's users. However, the architecture of these services may be complex, and accordingly the cost of providing the service might be difficult to calculate. The problem may be more difficult when multiple services are hosted within a single computing environment.
A related issue involves the complexity of diagnosing database performance problems. Web services and similar applications may employ one or more databases to store and retrieve data. When a web service interface is invoked, the invocation may result in a number of additional nested calls to various computing resources. Each of these may, in turn, send a request to one or more databases. When one of these queries causes a performance problem, it may be difficult to trace the query to its original source.