Ian Maxon has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/3226 )
Change subject: [ASTERIXDB-2532][RT] per-operator profiling ...................................................................... Patch Set 27: (12 comments) https://asterix-gerrit.ics.uci.edu/#/c/3226/25/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/25/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java@85 PS25, Line 85: static fi > Don't the Stats objects get sent around via IPC? Yeah, but the profile is fetched in a different way from these stats. https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java File asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java@358 PS27, Line 358: printProfile > I think that the indentation/pretty printing happens in the ResultPrinter, It does and the other elements are printed there, but it's all done by hand more or less. That works OK because the rest of the result is only nested a few levels but the profile is nested something like 7 levels deep. https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-om/src/main/java/org/apache/asterix/builders/IARecordBuilder.java File asterixdb/asterix-om/src/main/java/org/apache/asterix/builders/IARecordBuilder.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-om/src/main/java/org/apache/asterix/builders/IARecordBuilder.java@58 PS27, Line 58: AsterixException > HyracksDataException Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-om/src/main/java/org/apache/asterix/builders/IARecordBuilder.java@69 PS27, Line 69: * @throws IOException : * @throws AsterixException : > HyracksDataException Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/FieldAccessByNameEvalFactory.java File asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/FieldAccessByNameEvalFactory.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/FieldAccessByNameEvalFactory.java@110 PS27, Line 110: > Remove the empty lines/revert file? Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/TimedOperatorNodePushable.java File hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/TimedOperatorNodePushable.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/TimedOperatorNodePushable.java@36 PS27, Line 36: TimedOperatorNodePushable(IOperatorNodePushable op, IStatsCollector collector, boolean skipFw) > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/TimedOperatorNodePushable.java@71 PS27, Line 71: } > remove empty line above? Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IStatsCollector.java File hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IStatsCollector.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/profiling/IStatsCollector.java@43 PS27, Line 43: getOperatorStats > remove this one? Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/stats/impl/ClientCounterContext.java File hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/stats/impl/ClientCounterContext.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-client/src/main/java/org/apache/hyracks/client/stats/impl/ClientCounterContext.java@33 PS27, Line 33: org.apache.hyracks.api.com > Is this a new package? Yes, I had to move some of the things around to avoid having a cyclic dependency. However that's just one place that sort of fit procedurally, the 'api' part doesn't quite fit either https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java File hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/job/profiling/StatsCollector.java@51 PS27, Line 51: getOperatorStats > remove this as we have the other one? Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/TimedRunGenerator.java File hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/TimedRunGenerator.java: https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/TimedRunGenerator.java@22 PS27, Line 22: import java.util.logging.LogManager; : import java.util.logging.Logger; : > remove the (unused) logging code? Done https://asterix-gerrit.ics.uci.edu/#/c/3226/27/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/TimedRunGenerator.java@34 PS27, Line 34: Logger logger = LogManager.getLogManager().getLogger(TimedRunGenerator.class.toString()); : > remove the (unused) logging code? Done -- To view, visit https://asterix-gerrit.ics.uci.edu/3226 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie16f3901ae5b32920d8552d5fd1ec8bb6e2ec8ae Gerrit-Change-Number: 3226 Gerrit-PatchSet: 27 Gerrit-Owner: Ian Maxon <[email protected]> Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Anon. E. Moose (1000171) Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]> Gerrit-Comment-Date: Wed, 17 Apr 2019 08:09:30 +0000 Gerrit-HasComments: Yes
