Skip to content

Commit 11afbff

Browse files
ikwattroNyholm
authored andcommitted
statement statistics in profile (#22)
* statement statistics in profile * cs fix
1 parent 30f204f commit 11afbff

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

Collector/QueryLogger.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use GraphAware\Common\Cypher\StatementInterface;
88
use 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
}

Resources/views/webprofiler.html.twig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
<div>
7777
<strong class="font-normal text-small">Number of results</strong>: {{ statement.nb_results }}
7878
</div>
79+
<div>
80+
<strong class="font-normal text-small">Statistics</strong>: {{ statement.statistics|yaml_encode }}
81+
</div>
7982
</div>
8083
</td>
8184
</tr>

0 commit comments

Comments
 (0)