US 11,868,239 B1
Non-blocking concurrent work in a transaction generator
Ryan Preston Gantt, Seattle, WA (US); Carlos Alejandro Arguelles, Shoreline, WA (US); Aman Ahmed, Seattle, WA (US); Brian Thomas Kachmarck, Seattle, WA (US); Phillip Scott Segel, Auburn, WA (US); and Michael Leo Weiss, Maple Valley, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 7, 2016, as Appl. No. 15/176,005.
Int. Cl. G06F 9/44 (2018.01); G06F 11/36 (2006.01); H04L 67/10 (2022.01)
CPC G06F 11/3688 (2013.01) [G06F 11/3684 (2013.01); G06F 11/3692 (2013.01); H04L 67/10 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable storage medium storing instructions, which when executed on a processor, perform an operation for tracking transactions while performing a first load test of a distributed application, the operation comprising:
identifying a transaction rate to sustain during a load test of the distributed application;
generating transaction requests at the identified transaction rate;
for each generated transaction request:
initiating a transaction on the distributed application,
generating, using a container generator, a container to associate with the transaction initiated in response to the transaction request, wherein the container generator passes the associated container to a load generator which thereby initiates the transaction on the distributed application without blocking resources allocated by the load generator to generate the container while the transaction is processed by the distributed application,
storing an identifier assigned to the transaction in the container; and
subsequent to storing the identifier, freeing, using the container generator, the resources allocated by the load generator to generate the container;
wherein the resources freed for at least one container are used by the container generator to generate at least one other container associated with an initiated transaction; and
for each of a plurality of the transactions initiated on the distributed application:
receiving an indication that the distributed application has completed processing the transaction,
determining the identifier associated with the completed transaction,
identifying the container associated with the determined identifier, and
generating performance metrics associated with the completed transaction.