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 Interface (API), the method comprising:
- selecting a target Application Programming Interface (API) from a list of APIs to measure;
intercepting, collectively by one or more computer processors, calls to the target API and collecting timing and memory allocation data;
recording, collectively by the one or more computer processors, the timing and memory allocation data for the target API, the recorded data placed into storage;
determining, for each of a plurality of functions, a plurality of first values, each first value corresponding to a respective bucket of a plurality of buckets and associated with the memory allocation data;
determining, for each of the plurality of functions, a plurality of second values, each second value corresponding to a respective bucket of the plurality of buckets and associated with the timing data; and
merging, collectively by the one or more computer processors, measured results comprising the plurality of functions and the plurality of buckets, and wherein the measured results further comprise a visual indication that indicates, for each of the plurality of functions, the first value corresponding to each of the plurality of buckets and associated with the memory allocation data and the second value corresponding to each of the plurality of buckets and associated with the timing data.
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
12 Claims
-
1. A method to measure performance of an Application Programming Interface (API), the method comprising:
-
selecting a target Application Programming Interface (API) from a list of APIs to measure; intercepting, collectively by one or more computer processors, calls to the target API and collecting timing and memory allocation data; recording, collectively by the one or more computer processors, the timing and memory allocation data for the target API, the recorded data placed into storage; determining, for each of a plurality of functions, a plurality of first values, each first value corresponding to a respective bucket of a plurality of buckets and associated with the memory allocation data; determining, for each of the plurality of functions, a plurality of second values, each second value corresponding to a respective bucket of the plurality of buckets and associated with the timing data; and merging, collectively by the one or more computer processors, measured results comprising the plurality of functions and the plurality of buckets, and wherein the measured results further comprise a visual indication that indicates, for each of the plurality of functions, the first value corresponding to each of the plurality of buckets and associated with the memory allocation data and the second value corresponding to each of the plurality of buckets and associated with the timing data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage device having computer-executable instructions that, when executed collectively by one or more processors, implement a method of acquiring performance data for an Application Programming Interface (API), the method comprising:
-
selecting a target Application Programming Interface (API) from a list of APIs to measure; intercepting calls to the target API and collecting timing and memory allocation data; recording the timing and memory allocation data for the target API, the recorded data placed into storage; determining, for each of a plurality of functions, a plurality of first values, each first value corresponding to a respective bucket of a plurality of buckets and associated with the memory allocation data; determining, for each of the plurality of functions, a plurality of second values, each second value corresponding to a respective bucket of the plurality of buckets and associated with the timing data; and merging, collectively by the one or more computer processors, measured results comprising the plurality of functions and the plurality of buckets, and wherein the measured results further comprise a visual indication that indicates, for each of the plurality of functions, the first value corresponding to each of the plurality of buckets and associated with the memory allocation data and the second value corresponding to each of the plurality of buckets and associated with the timing data. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computing system for acquiring performance data for an Application Programming Interface (API), the computing system comprising:
-
a processing device comprising one or more processors; memory having stored therein instructions that, when executed by the processing device, implement a method comprising; selecting a target Application Programming Interface (API) from a list of APIs to measure; intercepting calls to the target API and collecting timing and memory allocation data; recording the timing and memory allocation data for the target API, the recorded data placed into storage; determining, for each of a plurality of functions, a plurality of first values, each first value corresponding to a respective bucket of a plurality of buckets and associated with the memory allocation data; determining, for each of the plurality of functions, a plurality of second values, each second value corresponding to a respective bucket of the plurality of buckets and associated with the timing data; and merging, collectively by the one or more computer processors, measured results comprising the plurality of functions and the plurality of buckets, and wherein the measured results further comprise a visual indication that indicates, for each of the plurality of functions, the first value corresponding to each of the plurality of buckets and associated with the memory allocation data and the second value corresponding to each of the plurality of buckets and associated with the timing data. - View Dependent Claims (12)
-
Specification