主权项 |
1. A method for establishing a framework for end-to-end traceability and performance monitoring of an execution chain, the method comprising:
receiving, at a first application component, a request for processing; measuring a first start time of the first application component; storing in a database, a first request record comprising the first start time, the first request record indicating start of execution of the first application component; measuring a second start time of an application callout; storing, in the database, a callout record comprising the second start time, the callout record indicating that the first application component has initiated an application callout to a second application component; establishing a parent-child relationship between the first request record and the callout record; sending application data from the first application component to the second application component; storing, in the callout record, traceability data about the application data sent from the first application component to the second application component; measuring a third start time of execution of the second application component; storing, in the database, a second request record comprising the third start time; establishing a parent-child relationship between the callout record and the second request record; measuring a first stop time of the second application component after execution but before the second application passes a response to the first application component; storing the first stop time in the second request record; measuring a second stop time of the application callout after the first application component receives a response from the called application; storing the second stop time in the callout record; measuring a third stop time of the first application component, after the first application component returns a response to the request for processing; storing the third stop time in the first request record; maintaining an end-to-end execution chain between the first application component and the second application component, using the traceability data, the traceability data including traceability data for each of the first application component, the second application component, and any intermediate application components of the end-to-end execution chain; and generating a report comprising the end-to-end execution chain, the report listing an actual execution time attributable to each application component in the end-to-end execution chain in processing each request, wherein the actual execution time, for each request by each application component, is measured by adding a pre-callout processing time and a post-callout processing time, the pre-callout processing time being measured by measuring a difference between a start time of each application component and a start time of a subsequent application callout, and the post-callout processing time being measured by measuring a difference between a stop time of the subsequent callout and a stop time of each request. |