@@ -19,6 +19,9 @@ class DatabaseStatisticsCollector implements StatisticsCollector
1919 /** @var int */
2020 protected $ requests = 0 ;
2121
22+ /** @var int */
23+ protected $ cooldowns = 0 ;
24+
2225 public function __construct (DatabaseInterface $ database )
2326 {
2427 $ this ->database = $ database ;
@@ -34,6 +37,7 @@ public function flush()
3437 $ this ->sharedPorts = [];
3538 $ this ->sharedSites = [];
3639 $ this ->requests = 0 ;
40+ $ this ->cooldowns = 0 ;
3741 }
3842
3943 public function siteShared ($ authToken = null )
@@ -71,6 +75,15 @@ public function incomingRequest()
7175 $ this ->requests ++;
7276 }
7377
78+ public function cooldownTriggered ()
79+ {
80+ if (! $ this ->shouldCollectStatistics ()) {
81+ return ;
82+ }
83+
84+ $ this ->cooldowns ++;
85+ }
86+
7487 public function save ()
7588 {
7689 $ sharedSites = 0 ;
@@ -84,15 +97,16 @@ public function save()
8497 });
8598
8699 $ this ->database ->query ('
87- INSERT INTO statistics (timestamp, shared_sites, shared_ports, unique_shared_sites, unique_shared_ports, incoming_requests)
88- VALUES (:timestamp, :shared_sites, :shared_ports, :unique_shared_sites, :unique_shared_ports, :incoming_requests)
100+ INSERT INTO statistics (timestamp, shared_sites, shared_ports, unique_shared_sites, unique_shared_ports, incoming_requests, cooldown_count )
101+ VALUES (:timestamp, :shared_sites, :shared_ports, :unique_shared_sites, :unique_shared_ports, :incoming_requests, :cooldown_count )
89102 ' , [
90103 'timestamp ' => today ()->toDateString (),
91104 'shared_sites ' => $ sharedSites ,
92105 'shared_ports ' => $ sharedPorts ,
93106 'unique_shared_sites ' => count ($ this ->sharedSites ),
94107 'unique_shared_ports ' => count ($ this ->sharedPorts ),
95108 'incoming_requests ' => $ this ->requests ,
109+ 'cooldown_count ' => $ this ->cooldowns ,
96110 ])
97111 ->then (function () {
98112 $ this ->flush ();
0 commit comments