IP Library Granted Patent US 11,237,951
Granted Patent B1
US 11,237,951 · App. 17/026,478 · Granted Feb 1, 2022

Generating test data for application performance

Inventors: Anna Tatunashvili (Bratislava, SK); Rupam Bhattacharjee (Karimganj, IN); Siba Prasad Satapathy (Bangalore, IN); George Thayyil Jacob Sushil (Bangalore, IN); Jozef Fekiac (Dublin, IE)
Assignee: International Business Machines Corporation
G06F11/3688G06F11/3072G06F11/323G06F11/3409G06F11/3676G06F11/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 11,237,951
App. No.
17/026,478
Granted
Feb 1, 2022
Kind
B1
Abstract

In an approach to improve the extracting test datasets for testing and resource optimization, embodiments execute a test run on a full dataset of a job, and identify existing bottlenecks in the job through a run-time monitoring interface. Additionally, embodiments execute a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job, and generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on the source code analysis. Furthermore, embodiments generate data extraction rules based on the impact scoring table, and extract a test dataset based on the data extraction rules. Moreover, embodiments evaluate the data extraction rules against user defined thresholds, and prepare a representative test dataset, and output, through a user interface on a computing device, the representative test dataset to a user.

Claims (73)

1. A computer-implemented method for extracting test datasets for testing and resource optimization, the method comprising:

executing a test run on a full dataset of a job;

identifying existing bottlenecks in the job through a run-time monitoring interface;

executing, by an automated analysis tool, a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job;

generating, by an analysis and impact scoring engine, an impact scoring table of job transformations based on the source code analysis;

generating data extraction rules based on the impact scoring table;

extracting a test dataset based on the data extraction rules;

evaluating the data extraction rules against user defined thresholds, and preparing a representative test dataset; and

outputting, via a user interface on a computing device, the representative test dataset to a user.

2. The method of claim 1 , further comprising:

generating, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on the run-time metrics analysis, the source code analysis, and the source data impact analysis.

3. The method of claim 1 , further comprising:

identifying connections between execution steps and source code, and associating workflow metadata to different blocks of the source code.

4. The method of claim 1 , further comprising:

retrieving source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and

retrieving a distributed data processing job application, and the source code associated with the job.

5. The method of claim 1 , further comprising:

receiving, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode; and

retrieving previously entered and stored user requirements from one or more databases.

6. The method of claim 1 , further comprising:

extracting allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job.

7. The method of claim 1 , further comprising:

performing, by the run-time monitoring interface, representation scoring by comparing runtime performance parameters of a job with runtime performance parameters of an original run of the job.

8. A computer system for extracting test datasets for testing and resource optimization, the computer system comprising:

one or more computer processors;

one or more computer readable storage medium, wherein the computer readable storage medium is not a transitory signal per se;

program instructions stored on the one or more computer readable storage medium for execution by at least one of the one or more computer processors, the stored program instructions comprising:

program instructions to execute a test run on a full dataset of a job;

program instructions to identify existing bottlenecks in the job through a run-time monitoring interface;

program instructions to execute, by an automated analysis tool, a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job;

program instructions to generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on the source code analysis;

program instructions to generate data extraction rules based on the impact scoring table;

program instructions to extract a test dataset based on the data extraction rules;

program instructions to evaluate the data extraction rules against user defined thresholds, and preparing a representative test dataset; and

program instructions to output, via a user interface on a computing device, the representative test dataset to a user.

9. The computer system of claim 8 , further comprising:

program instructions to generate, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on the run-time metrics analysis, the source code analysis, and the source data impact analysis.

10. The computer system of claim 8 , further comprising:

program instructions to identify connections between execution steps and source code,

and associate workflow metadata to different blocks of the source code.

11. The computer system of claim 8 , further comprising:

program instructions to retrieve source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and

program instructions to retrieve a distributed data processing job application, and the source code associated with the job.

12. The computer system of claim 8 , further comprising:

program instructions to receive, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode; and

program instructions to retrieve previously entered and stored user requirements from one or more databases.

13. The computer system of claim 8 , further comprising:

program instructions to extract allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job.

14. The computer system of claim 8 , further comprising:

program instructions to perform, by the run-time monitoring interface, representation scoring by program instructions to compare runtime performance parameters of a job with runtime performance parameters of an original run of the job.

15. A computer program product for extracting test datasets for testing and resource optimization, the computer program product comprising:

one or more computer readable storage medium and program instructions stored on the one or more computer readable storage medium, wherein the computer readable storage medium is not a transitory signal per se, the stored program instructions comprising:

program instructions to execute a test run on a full dataset of a job;

program instructions to identify existing bottlenecks in the job through a run-time monitoring interface;

program instructions to execute, by an automated analysis tool, a run-time metrics analysis, a source code analysis, and a source data impact analysis of a distributed data processing engine executing a distributed data processing job;

program instructions to generate, by an analysis and impact scoring engine, an impact scoring table of job transformations based on the source code analysis;

program instructions to generate data extraction rules based on the impact scoring table;

program instructions to extract a test dataset based on the data extraction rules;

program instructions to evaluate the data extraction rules against user defined thresholds, and preparing a representative test dataset; and

program instructions to output, via a user interface on a computing device, the representative test dataset to a user.

16. The computer program product of claim 15 , further comprising:

program instructions to generate, by the analysis and impact scoring engine, a recommendation report on potential issues and bottlenecks based on the run-time metrics analysis, the source code analysis, and the source data impact analysis; and

program instructions to identify connections between execution steps and source code, and associate workflow metadata to different blocks of the source code.

17. The computer program product of claim 15 , further comprising:

program instructions to retrieve source datasets used by the job from one or more databases, wherein the job is any type of distributed data processing job running on one or more cloud or bare metal servers; and

program instructions to retrieve a distributed data processing job application, and the source code associated with the job.

18. The computer program product of claim 15 , further comprising:

program instructions to receive, by the user interface, requirements of a user, wherein the requirements comprise: expected data size and representativeness percentage, number of iterations for test dataset extractor, and run mode; and

program instructions to retrieve previously entered and stored user requirements from one or more databases.

19. The computer program product of claim 15 , further comprising:

program instructions to extract allocated driver memory, number of executors, number of cores per executor, and allocated memory per executor from an environment setup to be used in a test run of the full dataset of the job.

20. The computer program product of claim 15 , further comprising:

program instructions to perform, by the run-time monitoring interface, representation scoring by program instructions to compare runtime performance parameters of a job with runtime performance parameters of an original run of the job.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2020
From: TATUNASHVILI, ANNA; BHATTACHARJEE, RUPAM; SATAPATHY, SIBA PRASAD; JACOB SUSHIL, GEORGE THAYYIL; FEKIAC, JOZEF
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053827/0833 →
Cited By (1)
US 12,210,445