You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by fl...@apache.org on 2018/08/30 14:30:56 UTC

[12/50] tinkerpop git commit: Merge branch 'tp32' into tp33

Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b34515a9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b34515a9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b34515a9

Branch: refs/heads/TINKERPOP-1774
Commit: b34515a91b2055bef3c4561da65b2a1c5f8617ae
Parents: b46c295 ca3a343
Author: Robert Dale <ro...@gmail.com>
Authored: Wed Aug 22 12:42:46 2018 -0400
Committer: Robert Dale <ro...@gmail.com>
Committed: Wed Aug 22 12:42:46 2018 -0400

----------------------------------------------------------------------
 .../jsr223/AbstractGremlinScriptEngineFactory.java  |  6 +++---
 .../process/traversal/dsl/GremlinDslProcessor.java  | 12 +++++++-----
 .../traversal/util/DefaultTraversalMetrics.java     | 16 +++++++++-------
 3 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34515a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34515a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
----------------------------------------------------------------------
diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index ae0bd8e,055e3ab..bfcfacc
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@@ -286,10 -188,121 +287,11 @@@ public final class DefaultTraversalMetr
      private static String padLeft(final String text, final int amountToPad) {
          // not sure why this method needed to exist. stupid string format stuff and commons utilities wouldn't
          // work for some reason in the context this method was used above.
-         String newText = text;
+         final StringBuilder newText = new StringBuilder();
          for (int ix = 0; ix < amountToPad; ix++) {
-             newText = " " + newText;
+             newText.append(" ");
          }
-         return newText;
+         newText.append(text);
+         return newText.toString();
      }
 -
 -    private void computeTotals() {
 -        // Create temp list of ordered metrics
 -        final List<MutableMetrics> tempMetrics = new ArrayList<>(this.metrics.size());
 -        for (final String label : this.indexToLabelMap.values()) {
 -            // The indexToLabelMap is sorted by index (key)
 -            tempMetrics.add(this.metrics.get(label).clone());
 -        }
 -
 -        // Calculate total duration
 -        this.totalStepDuration = 0;
 -        tempMetrics.forEach(metric -> this.totalStepDuration += metric.getDuration(MutableMetrics.SOURCE_UNIT));
 -
 -        // Assign %'s
 -        tempMetrics.forEach(m -> {
 -            final double dur = m.getDuration(TimeUnit.NANOSECONDS) * 100.d / this.totalStepDuration;
 -            m.setAnnotation(PERCENT_DURATION_KEY, dur);
 -        });
 -
 -        // Store immutable instances of the calculated metrics
 -        this.computedMetrics = new LinkedHashMap<>(this.metrics.size());
 -        tempMetrics.forEach(it -> this.computedMetrics.put(it.getId(), it.getImmutableClone()));
 -    }
 -
 -    public static DefaultTraversalMetrics merge(final Iterator<DefaultTraversalMetrics> toMerge) {
 -        final DefaultTraversalMetrics newTraversalMetrics = new DefaultTraversalMetrics();
 -
 -        // iterate the incoming TraversalMetrics
 -        toMerge.forEachRemaining(inTraversalMetrics -> {
 -            // aggregate the internal Metrics
 -            inTraversalMetrics.metrics.forEach((metricsId, toAggregate) -> {
 -
 -                MutableMetrics aggregateMetrics = newTraversalMetrics.metrics.get(metricsId);
 -                if (null == aggregateMetrics) {
 -                    // need to create a Metrics to aggregate into
 -                    aggregateMetrics = new MutableMetrics(toAggregate.getId(), toAggregate.getName());
 -
 -                    newTraversalMetrics.metrics.put(metricsId, aggregateMetrics);
 -                    // Set the index of the Metrics
 -                    for (final Map.Entry<Integer, String> entry : inTraversalMetrics.indexToLabelMap.entrySet()) {
 -                        if (metricsId.equals(entry.getValue())) {
 -                            newTraversalMetrics.indexToLabelMap.put(entry.getKey(), metricsId);
 -                            break;
 -                        }
 -                    }
 -                }
 -                aggregateMetrics.aggregate(toAggregate);
 -            });
 -        });
 -        return newTraversalMetrics;
 -    }
 -
 -    public void setMetrics(final Traversal.Admin traversal, final boolean onGraphComputer) {
 -        addTopLevelMetrics(traversal, onGraphComputer);
 -        handleNestedTraversals(traversal, null, onGraphComputer);
 -        computeTotals();
 -    }
 -
 -    private void addTopLevelMetrics(Traversal.Admin traversal, final boolean onGraphComputer) {
 -        final List<ProfileStep> profileSteps = TraversalHelper.getStepsOfClass(ProfileStep.class, traversal);
 -        for (int ii = 0; ii < profileSteps.size(); ii++) {
 -            // The index is necessary to ensure that step order is preserved after a merge.
 -            final ProfileStep step = profileSteps.get(ii);
 -            if (onGraphComputer) {
 -                final MutableMetrics stepMetrics = traversal.getSideEffects().get(step.getId());
 -                this.indexToLabelMap.put(ii, stepMetrics.getId());
 -                this.metrics.put(stepMetrics.getId(), stepMetrics);
 -            } else {
 -                final MutableMetrics stepMetrics = step.getMetrics();
 -                this.indexToLabelMap.put(ii, stepMetrics.getId());
 -                this.metrics.put(stepMetrics.getId(), stepMetrics);
 -            }
 -        }
 -    }
 -
 -    private void handleNestedTraversals(final Traversal.Admin traversal, final MutableMetrics parentMetrics, final boolean onGraphComputer) {
 -        long prevDur = 0;
 -        for (int i = 0; i < traversal.getSteps().size(); i++) {
 -            final Step step = (Step) traversal.getSteps().get(i);
 -            if (!(step instanceof ProfileStep))
 -                continue;
 -
 -            final MutableMetrics metrics = onGraphComputer ?
 -                    traversal.getSideEffects().get(step.getId()) :
 -                    ((ProfileStep) step).getMetrics();
 -
 -            if (null != metrics) { // this happens when a particular branch never received a .next() call (the metrics were never initialized)
 -                if (!onGraphComputer) {
 -                    // subtract upstream duration.
 -                    long durBeforeAdjustment = metrics.getDuration(TimeUnit.NANOSECONDS);
 -                    // adjust duration
 -                    metrics.setDuration(metrics.getDuration(TimeUnit.NANOSECONDS) - prevDur, TimeUnit.NANOSECONDS);
 -                    prevDur = durBeforeAdjustment;
 -                }
 -
 -                if (parentMetrics != null) {
 -                    parentMetrics.addNested(metrics);
 -                }
 -
 -                if (step.getPreviousStep() instanceof TraversalParent) {
 -                    for (Traversal.Admin<?, ?> t : ((TraversalParent) step.getPreviousStep()).getLocalChildren()) {
 -                        handleNestedTraversals(t, metrics, onGraphComputer);
 -                    }
 -                    for (Traversal.Admin<?, ?> t : ((TraversalParent) step.getPreviousStep()).getGlobalChildren()) {
 -                        handleNestedTraversals(t, metrics, onGraphComputer);
 -                    }
 -                }
 -            }
 -        }
 -    }
  }