You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Stephen Mallette (Jira)" <ji...@apache.org> on 2021/10/28 19:41:00 UTC

[jira] [Created] (TINKERPOP-2634) Improve the ability to debug Gremlin traversals

Stephen Mallette created TINKERPOP-2634:
-------------------------------------------

             Summary: Improve the ability to debug Gremlin traversals
                 Key: TINKERPOP-2634
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2634
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.5.1
            Reporter: Stephen Mallette


Introduce a new {{DebugStrategy}} which would essentially place the traversal in development mode. It would be added in the Gremlin Console when defining "g" or in a developer’s application code during programming. This approach works nicely for application development because it could be added in a way that doesn’t interfere with the execution of the code allowing tests to run without modification. For example, there would be no need to tack a {{profile()}} to the end of a traversal after discovering a problem or a need to take the traversal to a different tool to try to debug it.

{code}
g.withStrategy(DebugStrategy)
g.withStrategy(new DebugStrategy(verifyEdgeLabelSpecification=true, includeProfile=false))
g.withDebug() - first class??
{code}

If your tests all pass in development, the developer would be assured that running the same code in production without {{DebugStrategy}} would be safe. {{DebugStrategy}} could perhaps always turn on {{profile()}} but still return results and preserve the profiling output to be retrieved from the traversal somehow. Some more thought needs to be applied here.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)