AUTOMATED METHOD AND SYSTEM FOR COLLECTING AND REPORTING API PERFORMANCE PROFILES
First Claim
Patent Images
1. A method to measure performance of an Application Programming Interfaces (APIs), the method comprising:
- (a) creating a list of APIs to measure;
(b) selecting a single target Application Programming Interface (API) from the list;
(c) intercepting calls to the target API and collecting timing and memory allocation data;
(d) recording the timing and memory allocation data for the target API, the recorded data placed into storage;
(e) merging measured results; and
(f) repeating steps (b) through (e) for each API on the list.
1 Assignment
0 Petitions
Accused Products
Abstract
A method to measure the performance of an Application Programming Interface (API) includes selecting a target API and tracking memory allocation for the functional calls of the selected API to generate a list of functions called by the API. The individual functions are then called within the API in isolation and timing and memory allocation data for each are collected and recorded. The recorded results are then bucketized according to a log base 2 method and made accessible by API users to indicate the performance of specific APIs.
-
Citations
19 Claims
-
1. A method to measure performance of an Application Programming Interfaces (APIs), the method comprising:
-
(a) creating a list of APIs to measure; (b) selecting a single target Application Programming Interface (API) from the list; (c) intercepting calls to the target API and collecting timing and memory allocation data; (d) recording the timing and memory allocation data for the target API, the recorded data placed into storage; (e) merging measured results; and (f) repeating steps (b) through (e) for each API on the list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system for acquiring performance data for Application Programming Interfaces (APIs), the system comprising:
-
a processor executing software instructions, the software instructions comprising; a memory allocation profiler module which measures and records a number of times a function is called by a target Application Programming Interface (API) producing memory allocation measurements of the target API; a timing profiler module which measures and records timing information related to the target API producing timing measurements of the target API; a coordination module that runs the memory allocation module and the timing profiler module once for each invocation of the target API, wherein the coordination module avoids simultaneously measuring any two APIs which appear on the same call stack; a merging tool module which combines the memory allocation measurements and the timing measurements of the target API; and a user interface module which can display data of the results. - View Dependent Claims (10, 11)
-
-
12. A computer-readable medium having computer-executable instructions for performing a method of acquiring performance data for Application Programming Interfaces (APIs), the method comprising:
-
(a) creating a list of APIs to measure; (b) selecting a single target API from the list; (c) intercepting calls to the target API and collecting timing and memory allocation data; (d) recording the timing and memory allocation data for the target API, the recorded data placed into storage; (e) merging measured results; and (f) repeating steps (b) through (e) for each API on the list. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification