IP Library Granted Patent US 10,216,608
Granted Patent B1
US 10,216,608 · App. 14/632,976 · Granted Feb 26, 2019

Load testing with automated service dependency discovery

Inventor: Carlos Alejandro Arguelles (Shoreline, WA)
Assignee: Amazon Technologies, Inc.
G06F11/3612G06F11/3664G06F11/3668G06F11/3692
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,216,608
App. No.
14/632,976
Granted
Feb 26, 2019
Kind
B1
Abstract

Methods, systems, and computer-readable media for load testing with automated service dependency discovery are disclosed. A request is received to approve load testing for a service. One or more downstream services are identified for the service. The one or more downstream services are identified based at least in part using automated discovery. The availability of the one or more downstream services for load testing is determined. The request is approved or denied based at least in part on the availability of the one or more downstream services for load testing.

Claims (35)

1. A system, comprising:

one or more computing devices configured to implement a load testing system, wherein the load testing system:

receives a request to approve load testing for a service;

initiates, responsive to the request to approve load testing, one or more test calls to the service, wherein a call trace functionality is enabled for the one or more test calls;

identifies, based at least in part on trace information included in one or more responses to the one or more test calls, one or more downstream services upon which the service depends, wherein the trace information is generated by the call trace functionality for the one or more test calls at the downstream services called by the service or by other ones of the downstream services; and

approves or denies the request to approve load testing for the service based at least in part on an availability of the identified one or more downstream services for load testing, wherein the availability of the one or more downstream services is indicated in a load test registry.

2. The system as recited in claim 1 , wherein the load testing system:

during the load testing for the service, marks the identified one or more downstream services as unavailable for additional load testing in the load test registry.

3. The system as recited in claim 1 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a current point in time, and wherein the load testing for the service is initiated on or after the current point in time.

4. The system as recited in claim 1 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a future point in time, and wherein the load testing for the service is initiated on or after the future point in time.

5. A computer-implemented method, comprising:

receiving a request to approve load testing for a service;

identifying, responsive to the request to approve load testing, one or more downstream services upon which the service depends, wherein the one or more downstream services are identified based at least in part on using automated discovery that employs trace information from one or more responses to one or more test calls made to at least one of the one or more downstream services;

determining an availability of the identified one or more downstream services for load testing; and

approving or denying the request to approve load testing for the service based at least in part on the availability of the identified one or more downstream services for load testing.

6. The method as recited in claim 5 , wherein the availability of the identified one or more downstream services for load testing is indicated in a load test registry.

7. The method as recited in claim 6 , further comprising:

during the load testing for the service, marking the one or more downstream services as unavailable for additional load testing in the load test registry.

8. The method as recited in claim 5 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a current point in time, and wherein the load testing for the service is initiated on or after the current point in time.

9. The method as recited in claim 5 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a future point in time, and wherein the load testing for the service is initiated on or after the future point in time.

10. The method as recited in claim 5 , wherein the availability of individual ones of the identified one or more downstream services for load testing is indicated using authorization in a whitelist, wherein the request is denied if the service is not included in the whitelist for one or more of the downstream services.

11. The method as recited in claim 10 , further comprising:

requesting inclusion of the service in the whitelist based at least in part on denial of the request.

12. The method as recited in claim 10 , wherein one or more time windows for availability of individual ones of the identified one or more downstream services are indicated in the whitelist, wherein the request is denied if the request is outside the one or more time windows.

13. The method as recited in claim 5 , wherein the request indicates a target throughput, and wherein the request is approved or denied based at least in part on an availability of the target throughput.

14. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform:

receiving a request to approve load testing for a service;

initiating, responsive to the request to approve load testing, one or more test calls to the service;

identifying one or more downstream services upon which the service depends, wherein the one or more downstream services are identified based at least in part on trace information included in one or more responses to the one or more test calls; and

approving or denying the request to approve load testing for the service based at least in part on an availability of the identified one or more downstream services for load testing, wherein the availability of the identified one or more downstream services for load testing is indicated in a load test registry.

15. The non-transitory computer-readable storage medium as recited in claim 14 , wherein the program instructions are further computer-executable to perform:

during the load testing for the service, marking the one or more downstream services as unavailable for additional load testing in the load test registry.

16. The non-transitory computer-readable storage medium as recited in claim 14 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a current point in time, and wherein the load testing for the service is initiated on or after the current point in time.

17. The non-transitory computer-readable storage medium as recited in claim 14 , wherein the request is approved based at least in part on the availability of the identified one or more downstream services at a future point in time, and wherein the load testing for the service is initiated on or after the future point in time.

18. The non-transitory computer-readable storage medium as recited in claim 14 , wherein the availability of individual ones of the identified one or more downstream services for load testing is indicated using authorization in a whitelist, wherein the request is denied if the service is not included in the whitelist for one or more of the downstream services.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2015
From: ARGUELLES, CARLOS ALEJANDRO
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 035234/0347 →
Cited By (2)
US 12,360,857 US 12,596,627