QueryCollector::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Kaliop\EzFindSearchEngineBundle\DataCollector;
4
5
use Kaliop\EzFindSearchEngineBundle\DataCollector\Logger\QueryLogger;
6
use Symfony\Component\HttpKernel\DataCollector\DataCollector;
7
use Symfony\Component\HttpFoundation\Request;
8
use Symfony\Component\HttpFoundation\Response;
9
10
class QueryCollector extends DataCollector
11
{
12
    /**
13
     * @var QueryLogger
14
     */
15
    protected $logger;
16
17
    /**
18
     * QueryCollector constructor.
19
     *
20
     * @param QueryLogger $logger
21
     */
22
    public function __construct(QueryLogger $logger)
23
    {
24
        $this->logger = $logger;
25
    }
26
27
    /**
28
     * @inheritdoc
29
     */
30
    public function collect(Request $request, Response $response, \Exception $exception = null)
31
    {
32
        $this->data = [
33
            'queries_number' => $this->logger->getQueriesNumber(),
34
            'invalid_queries' => $this->logger->getInvalidQueriesNumber(),
35
            'total_time' => $this->logger->getTotalTime(),
36
        ];
37
    }
38
39
    /**
40
     * @inheritdoc
41
     */
42
    public function getName()
43
    {
44
        return 'ezfind_search_engine.query_collector';
45
    }
46
47
    /**
48
     * Get number of valid SOLR queries.
49
     *
50
     * @return int
51
     */
52
    public function getQueriesNumber()
53
    {
54
        return $this->data['queries_number'];
55
    }
56
57
    /**
58
     * Get number of invalid SOLR queries.
59
     *
60
     * @return int
61
     */
62
    public function getInvalidQueriesNumber()
63
    {
64
        return $this->data['invalid_queries'];
65
    }
66
67
    /**
68
     * Get total queries time in milliseconds.
69
     *
70
     * @return int
71
     */
72
    public function getTotalTime()
73
    {
74
        return $this->data['total_time'];
75
    }
76
}