[ https://issues.apache.org/jira/browse/DRILL-5260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15881262#comment-15881262 ]
ASF GitHub Bot commented on DRILL-5260: --------------------------------------- Github user sohami commented on a diff in the pull request: https://github.com/apache/drill/pull/753#discussion_r102610181 --- Diff: exec/java-exec/src/test/java/org/apache/drill/test/ProfileParser.java --- @@ -42,44 +48,207 @@ public class ProfileParser { JsonObject profile; + String query; List<String> plans; + List<OpDefInfo> operations; + Map<Integer,FragInfo> fragments = new HashMap<>(); + private List<OpDefInfo> topoOrder; public ProfileParser( File file ) throws IOException { try (FileReader fileReader = new FileReader(file); JsonReader reader = Json.createReader(fileReader)) { profile = (JsonObject) reader.read(); } + + parse(); + } + + private void parse() { + parseQuery(); + parsePlans(); + buildFrags(); + parseFragProfiles(); + mapOpProfiles(); + aggregateOpers(); + buildTree(); + } + + private void parseQuery() { + query = profile.getString("query"); + query = query.replace("//n", "\n"); + } + + /** + * Parse a text version of the plan as it appears in the JSON + * query profile. + */ + + private static class PlanParser { + + List<String> plans = new ArrayList<>(); + List<OpDefInfo> operations = new ArrayList<>(); + List<OpDefInfo> sorted = new ArrayList<>(); + + public void parsePlans(String plan) { + plans = new ArrayList<>( ); + String parts[] = plan.split("\n"); + for (String part : parts) { + plans.add(part); + OpDefInfo opDef = new OpDefInfo( part ); + operations.add(opDef); + } + sortList(); + } + + public void sortList() { --- End diff -- can be private. > Refinements to new "Cluster Fixture" test framework > --------------------------------------------------- > > Key: DRILL-5260 > URL: https://issues.apache.org/jira/browse/DRILL-5260 > Project: Apache Drill > Issue Type: Improvement > Affects Versions: 1.10 > Reporter: Paul Rogers > Assignee: Paul Rogers > Priority: Minor > Fix For: 1.10 > > > Roll-up of a number of enhancements to the cluster fixture framework. > * Config option to suppress printing of CSV and other output. (Allows > printing for single tests, not printing when running from Maven.) > * Parsing of query profiles to extract plan and run time information. > * Fix bug in log fixture when enabling logging for a package. > * Improved ZK support. > * Set up the new CTTAS default temporary workspace for tests. > * Revise TestDrillbitResiliance to use the new framework. > * Revise TestWindowFrame to to use the new framework. > * Revise TestMergeJoinWithSchemaChanges to use the new framework. -- This message was sent by Atlassian JIRA (v6.3.15#6346)