【发布时间】:2018-08-31 01:46:04
【问题描述】:
我正在尝试测量 Gremlin 控制台中的查询所花费的时间。是否可以在每个 gremlin 提示符下显示时间?类似于“SET TIME ON”过去如何与 Oracle 的 SQL 控制台一起使用。
【问题讨论】:
我正在尝试测量 Gremlin 控制台中的查询所花费的时间。是否可以在每个 gremlin 提示符下显示时间?类似于“SET TIME ON”过去如何与 Oracle 的 SQL 控制台一起使用。
【问题讨论】:
没有任何东西可以显示每次提示执行的时间。您当然可以使用profile() 和explain() 步骤对遍历进行计时并获取有关其内部执行情况的信息:
gremlin> g.V().out().profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
TinkerGraphStep(vertex,[]) 6 6 12.308 88.82
VertexStep(OUT,vertex) 6 6 1.268 9.15
NoOpBarrierStep(2500) 6 4 0.281 2.03
>TOTAL - - 13.857 -
gremlin> g.V().out().explain()
==>Traversal Explanation
=======================================================================================
Original Traversal [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
ConnectiveStrategy [D] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
MatchPredicateStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
FilterRankingStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
InlineFilterStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
RepeatUnrollStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
CountStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
PathRetractionStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
LazyBarrierStrategy [O] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
TinkerGraphCountStrategy [P] [GraphStep(vertex,[]), VertexStep(OUT,vertex)]
TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex)]
ProfileStrategy [F] [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex)]
StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex)]
Final Traversal [TinkerGraphStep(vertex,[]), VertexStep(OUT,vertex)]
【讨论】: