66
77use GraphAware \Common \Cypher \StatementInterface ;
88use GraphAware \Common \Result \StatementResult as StatementResultInterface ;
9+ use GraphAware \Common \Result \StatementStatisticsInterface ;
910
1011/**
1112 * @author Xavier Coureau <[email protected] > @@ -48,6 +49,7 @@ public function record(StatementInterface $statement)
4849 'query ' => $ statementText ,
4950 'parameters ' => $ statementParams ,
5051 'tag ' => $ statement ->getTag (),
52+ 'statistics ' => [],
5153 ];
5254 $ this ->statementsHash [$ statementText ][$ statementParams ][$ tag ] = $ idx ;
5355 }
@@ -74,6 +76,7 @@ public function finish(StatementResultInterface $statementResult)
7476 $ this ->statements [$ idx ] = array_merge ($ this ->statements [$ idx ], [
7577 'end_time ' => microtime (true ) * 1000 ,
7678 'nb_results ' => $ statementResult ->size (),
79+ 'statistics ' => $ this ->statisticsToArray ($ statementResult ->summarize ()->updateStatistics ()),
7780 ]);
7881 }
7982
@@ -118,4 +121,24 @@ public function getElapsedTime()
118121
119122 return $ time ;
120123 }
124+
125+ private function statisticsToArray (StatementStatisticsInterface $ statementStatistics )
126+ {
127+ $ data = [
128+ 'contains_updates ' => $ statementStatistics ->containsUpdates (),
129+ 'nodes_created ' => $ statementStatistics ->nodesCreated (),
130+ 'nodes_deleted ' => $ statementStatistics ->nodesDeleted (),
131+ 'relationships_created ' => $ statementStatistics ->relationshipsCreated (),
132+ 'relationships_deleted ' => $ statementStatistics ->relationshipsDeleted (),
133+ 'properties_set ' => $ statementStatistics ->propertiesSet (),
134+ 'labels_added ' => $ statementStatistics ->labelsAdded (),
135+ 'labels_removed ' => $ statementStatistics ->labelsRemoved (),
136+ 'indexes_added ' => $ statementStatistics ->indexesAdded (),
137+ 'indexes_removed ' => $ statementStatistics ->indexesRemoved (),
138+ 'constraints_added ' => $ statementStatistics ->constraintsAdded (),
139+ 'constraints_removed ' => $ statementStatistics ->constraintsRemoved (),
140+ ];
141+
142+ return $ data ;
143+ }
121144}
0 commit comments