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)