Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit f537d48

Browse files
committed
Auto-switch graph frequency to avoid super-heavy graphs.
1 parent 1709785 commit f537d48

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

core/src/plugins/log.sql/class.sqlLogDriver.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ private function getQuery($queryName){
8585
return false;
8686
}
8787

88-
protected function processOneQuery($queryName, $start, $count, $frequency="day", $additionalFilters=array()){
88+
protected function processOneQuery($queryName, $start, $count, $frequency="auto", $additionalFilters=array()){
8989

9090
$query = $this->getQuery($queryName);
9191
if($query === false){
@@ -119,6 +119,10 @@ protected function processOneQuery($queryName, $start, $count, $frequency="day",
119119
$allDates = array();
120120

121121
if(isSet($query["AXIS"]) && $query["AXIS"]["x"] == "Date"){
122+
if($frequency == "auto"){
123+
if($count > 70) $frequency = "month";
124+
else if($count > 21) $frequency = "week";
125+
}
122126
$groupedSums = array();
123127
if($frequency == "week"){
124128
$groupByFormat = "W";
@@ -197,7 +201,7 @@ public function processQuery($actionName, &$httpVars, &$fileVars){
197201
$query_name = $httpVars["query_name"];
198202
$start = 0;
199203
$count = 30;
200-
$frequency = (isSet($httpVars["frequency"])?AJXP_Utils::sanitize($httpVars["frequency"], AJXP_SANITIZE_ALPHANUM):"day");
204+
$frequency = (isSet($httpVars["frequency"])?AJXP_Utils::sanitize($httpVars["frequency"], AJXP_SANITIZE_ALPHANUM):"auto");
201205
if(isSet($httpVars["start"])) $start = intval($httpVars["start"]);
202206
if(isSet($httpVars["count"])) $count = intval($httpVars["count"]);
203207
$additionalFilters = array();

0 commit comments

Comments
 (0)