Hello Everyone, I have been looking at the Explain and Profile implementations in gremlin-core and how to improve the flexibility of its output for Tinkerpop 4.0 for graph db providers.
My questions to the Tinkerpop db provider community are: * is the default Explain and Profile output sufficient? * have you had difficulty customizing the Explain or Profile implementations? * can you provide an example of a customized Explain or Profile output that I could reference to help determine how I can improve the current implementation? For Explain, I am thinking about modifying TraversalExplanation to allow providers to more easily group applied TraversalStrategies into intermediate traversals so that the output can contain the Original Traversal, X-Intermediate Traversals, and then Final Traversal based on how the provider decides to group the strategies. For Profile, I am wondering if it would be useful to change Metrics from storing data in two maps into a single map, allowing db providers to specify custom metric aggregation logic via BinaryOperator (ie. sum, average, min, max, String concatenation), and then changing toString to dynamically determine the output table headers based on the keys of the metrics map. Or perhaps a more simpler approach would be better to allow injection of additional text before or after the default Profile output. I am aware of the existing issue TINKERPOP-2128 which requests that Explain to work remotely and am taking this into consideration as well. Thank you, Andrea