×

Object lifecycle analysis tool

  • US 10,133,996 B2
  • Filed: 04/22/2014
  • Issued: 11/20/2018
  • Est. Priority Date: 04/22/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product for identifying concurrency bottlenecks occurring while processing lifecycle transactions from an initiation state to a completion state by visualizing said lifecycles transactions when processed concurrently, the computer program product comprising:

  • a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, wherein the code, when executed by a processor, performs an operation, the operation comprising;

    generating, for each of the lifecycle transactions, a plurality of transaction objects that include an identifiable run tag that distinguishes a set of test run data from other transaction data being normally processed;

    receiving, the set of test run data comprising the plurality of transaction objects, each of the transaction objects having a specified identifier indicating that each of the transaction objects is associated with the set of test run data and each of the respective transaction objects defined by a set of operations that together perform a task relating to each of the lifecycle transactions;

    sending, the set of test run data to an application;

    processing by the application the set of test run data;

    storing by the application in timeline tables of a transaction database, transition state information for each of the respective transaction objects, processed in each second for a duration of time by subtype and status of each of the lifecycle transactions corresponding to each of the transaction objects having been processed, wherein the transition state information corresponding to each of the transaction objects results from the application performing one or more of the operations in the set of operations associated with each of the transaction objects;

    generating, a database query that uses, at least in part, the specified identifier to retrieve the transition state information corresponding to all of the transaction objects associated with the set of test run data;

    executing, the database query against the transaction database to retrieve the transition state information corresponding to all of the transaction objects associated with the set of test run data from the transaction database;

    as each of the lifecycle transactions in the set of test run data is processed, storing, the transition state information in the transaction database including beginning and ending times of each transition state, a duration of each transition state, a transaction count, and transactions per second;

    organizing, the transition state associated with each of the transaction objects into a chronological order;

    reorganizing, the transition state information obtained from the transaction database chronologically and storing the reorganized transition state in the timeline tables;

    accumulating, active transition states that had been processed in each second for the duration of time by the subtype and the status of each of the lifecycle transactions;

    storing, results of the accumulated active transition states in a timeline table of the timeline tables corresponding to each transaction object;

    mappings, transaction types to the transaction objects as representations of a graph;

    retrieving, the mappings and transition state information from a history of each of the lifecycle transactions;

    retrieving, a total duration of each lifecycle transaction, a subtype of each lifecycle transaction, and the transition state information of each lifecycle transaction;

    obtaining, the beginning time and the ending time for each transition state in each lifecycle transaction;

    retrieving, from the transaction database, a total transaction count, a number of transactions per second, and a total duration of the set of test run data;

    initializing, after gathering the set of test run data, a transaction object creation timeline table, a transaction object timeline table, and a transaction state timeline table of the timeline tables;

    populating, the timeline tables with the set of test run data gathered from the transaction database based on the beginning time and the ending time to identify the transaction objects being processed for each second of the test run data and storing results of the processed transaction objects in the object creation timeline table;

    identifying, the transaction objects being processed for each second of the test run data and storing the results in the transaction object timeline table;

    processing, the transaction states being processed for each second of the test run data and storing results of the processed transaction states in the transaction state timeline table;

    generating, after processing the transaction states, the graph of the transition state information for each transaction object in a logarithmic scale based on the reorganized transition state information and the timeline tables; and

    outputting, the graph into a spreadsheet to identify the concurrency bottlenecks occurring while processing the lifecycle transactions from the initiation state to the completion state.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×