[ 
https://issues.apache.org/jira/browse/TINKERPOP-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15334420#comment-15334420
 ] 

Marko A. Rodriguez commented on TINKERPOP-1332:
-----------------------------------------------

I now have {{prettyPrint(int maxLineWidth)}} and in the GremlinConsole, that 
line width is determined from JLine. Thus, we get it as such:

{code}
gremlin> g.V().out().out().out().out().repeat(out()).explain()
==>Traversal Explanation
=========================================================================================================================
Original Traversal                 [GraphStep(vertex,[]), 
VertexStep(OUT,vertex), VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex), RepeatStep([VertexStep(OUT,vertex),
                                      RepeatEndStep],until(false),emit(false))]

ConnectiveStrategy           [D]   [GraphStep(vertex,[]), 
VertexStep(OUT,vertex), VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex), RepeatStep([VertexStep(OUT,vertex),
                                      RepeatEndStep],until(false),emit(false))]
...
{code}

Make the window smaller in the same session and:

{code}
gremlin> g.V().out().out().out().out().out().explain()
==>Traversal Explanation
=======================================================================================
Original Traversal                 [GraphStep(vertex,[]), 
VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex)]

ConnectiveStrategy           [D]   [GraphStep(vertex,[]), 
VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex),
                                      VertexStep(OUT,vertex), 
VertexStep(OUT,vertex)]
...
{code}

The {{toString()}} is simply {{prettyPrint(Integer.MAX_LENGTH)}}. 

> Improve .explain() Dialogue 
> ----------------------------
>
>                 Key: TINKERPOP-1332
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1332
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.0-incubating
>            Reporter: Russell Alexander Spitzer
>            Assignee: Marko A. Rodriguez
>            Priority: Minor
>
> Currently the output of explain gives you a long list of strategies but no 
> details about their application
> {code}
> ==>Traversal Explanation
> ============================================================================================================================
> Original Traversal                 [GraphStep(vertex,[]), CountGlobalStep]
> HaltedTraverserStrategy      [D]   [GraphStep(vertex,[]), CountGlobalStep]
> ConnectiveStrategy           [D]   [GraphStep(vertex,[]), CountGlobalStep]
> VertexProgramStrategy        [D]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> OrderLimitStrategy           [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> IdentityRemovalStrategy      [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> FilterRankingStrategy        [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> IncidentToAdjacentStrategy   [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> RangeByIsCountStrategy       [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> AdjacentToIncidentStrategy   [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> MatchPredicateStrategy       [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> GraphFilterStrategy          [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> PathProcessorStrategy        [O]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> SparkInterceptorStrategy     [P]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> SparkSingleIterationStrategy [P]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> ProfileStrategy              [F]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> LambdaRestrictionStrategy    [V]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> ComputerVerificationStrategy [V]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> StandardVerificationStrategy [V]   
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> Final Traversal                    
> [TraversalVertexProgramStep([GraphStep(vertex,[]), CountGlobalStep]), 
> ComputerResultStep]
> {code}
> It would be helpful if filter strategies for example would list the filters 
> used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to