Bottleneck Detector Application Programming Interface
An application programming interface may receive workload identifiers and checkpoint identifiers from which bottleneck detection may be performed. Workloads may be tracked through various checkpoints in an application and timestamps collected at each checkpoint. From these data, bottlenecks may be identified in real time or by analyzing the data in a subsequent analysis. The workloads may be processed by multiple devices which may comprise a large application. In some cases, the workloads may be processed by different devices in sequence or in a serial fashion, while in other cases workloads may be processed in parallel by different devices. The application programming interface may be part of a bottleneck detection service which may be sold on a pay-per-use model, a subscription model, or some other payment scheme.
1 . A system comprising:
a processor;
a tracer operating on said processor, said tracer that:
listens for a start workload call on an interface and logs said start workload call;
listens for a checkpoint call, determines a workload for said checkpoint call, and logs said checkpoint call with a timestamp and a checkpoint identifier;
a data analyzer that:
creates a first curve representing said checkpoint calls for a first checkpoint; and
identifies an abnormality from said first curve, said abnormality being identified from at least one of said checkpoint calls that deviates from said first curve.
2 . The system of claim 1 , said tracer that further:
returns a workload identifier in response to said start workload call.
3 . The system of claim 2 , said tracer that further:
receives a workload identifier with said checkpoint call.
4 . The system of claim 3 , said timestamp being transmitted with said checkpoint call.
5 . The system of claim 3 , said timestamp being determined when said checkpoint call is received.
6 . The system of claim 2 , said tracer that further:
creates a second curve representing said checkpoint calls for a second checkpoint; and
identifies said abnormality by comparing said first curve to said second curve, said at least one of said checkpoint calls being contained in said second curve.
7 . The system of claim 6 , said first curve having a different slope from said second curve.
8 . The system of claim 6 , said first curve having a different correlation coefficient than said second curve.
9 . The system of claim 1 , said first curve being a linear curve.
10 . The system of claim 1 , said first curve being a polynomial curve.
11 . The system of claim 1 , said timestamp being an incremental time from a beginning time.
12 . The system of claim 11 , said beginning time being defined at said start workload call.
13 . The system of claim 12 , said beginning time being a timestamp transmitted by a calling routine.
14 . The system of claim 13 , said beginning time being determined by said data listener.
15 . The system of claim 11 , said beginning time being a time defined by a previous checkpoint call.
16 . The system of claim 1 , said first curve correlating said timestamp and a load factor.
17 . The system of claim 16 , said load factor being received in said workload call.
18 . The system of claim 16 , said load factor being received in said checkpoint call.
19 . The system of claim 16 , said load factor being received from an external source.
20 . The system of claim 19 , said load factor being received as a data stream comprising timestamps.