Skip to content
Snippets Groups Projects
Commit 00f091d1 authored by Nigel Kukard's avatar Nigel Kukard
Browse files

Consolidate only the previous period

We cannot have an open ended consolidation window or we will consolidate
all history each time we run.
parent 47329d02
No related branches found
No related tags found
No related merge requests found
...@@ -227,6 +227,7 @@ sub plugin_init ...@@ -227,6 +227,7 @@ sub plugin_init
stats stats
WHERE WHERE
`Key` = ? `Key` = ?
AND `Timestamp` > ?
AND `Timestamp` < ? AND `Timestamp` < ?
GROUP BY GROUP BY
`IdentifierID`, `TimestampM`, `Direction` `IdentifierID`, `TimestampM`, `Direction`
...@@ -245,6 +246,7 @@ sub plugin_init ...@@ -245,6 +246,7 @@ sub plugin_init
stats_basic stats_basic
WHERE WHERE
`Key` = ? `Key` = ?
AND `Timestamp` > ?
AND `Timestamp` < ? AND `Timestamp` < ?
GROUP BY GROUP BY
`IdentifierID`, `TimestampM` `IdentifierID`, `TimestampM`
...@@ -454,10 +456,11 @@ sub _session_tick ...@@ -454,10 +456,11 @@ sub _session_tick
my $numStatsBasicConsolidated = 0; my $numStatsBasicConsolidated = 0;
my $numStatsConsolidated = 0; my $numStatsConsolidated = 0;
my $consolidateFrom = $lastPeriod - $precision * 2;
my $consolidateUpTo = $lastPeriod - $precision; my $consolidateUpTo = $lastPeriod - $precision;
# Execute and pull in consolidated stats # Execute and pull in consolidated stats
$res = $sthStatsBasicConsolidate->execute($precision,$prevKey,$consolidateUpTo); $res = $sthStatsBasicConsolidate->execute($precision,$prevKey,$consolidateFrom,$consolidateUpTo);
if ($res) { if ($res) {
# Loop with items returned # Loop with items returned
while (my $item = $sthStatsBasicConsolidate->fetchrow_hashref()) { while (my $item = $sthStatsBasicConsolidate->fetchrow_hashref()) {
...@@ -476,7 +479,7 @@ sub _session_tick ...@@ -476,7 +479,7 @@ sub _session_tick
); );
} }
# And the normal stats... # And the normal stats...
$res = $sthStatsConsolidate->execute($precision,$prevKey,$consolidateUpTo); $res = $sthStatsConsolidate->execute($precision,$prevKey,$consolidateFrom,$consolidateUpTo);
if ($res) { if ($res) {
# Loop with items returned # Loop with items returned
while (my $item = $sthStatsConsolidate->fetchrow_hashref()) { while (my $item = $sthStatsConsolidate->fetchrow_hashref()) {
...@@ -501,12 +504,14 @@ sub _session_tick ...@@ -501,12 +504,14 @@ sub _session_tick
my $timerB = [gettimeofday]; my $timerB = [gettimeofday];
my $timediffB = tv_interval($timerA,$timerB); my $timediffB = tv_interval($timerA,$timerB);
$logger->log(LOG_INFO,"[STATISTICS] Stats consolidation time for key %s: %s (%s basic, %s normal), up to %s [%s]", $logger->log(LOG_INFO,"[STATISTICS] Stats consolidation: key %s in %s (%s basic, %s normal), period %s - %s [%s - %s]",
$key, $key,
sprintf('%.3fs',$timediffB), sprintf('%.3fs',$timediffB),
$numStatsBasicConsolidated, $numStatsBasicConsolidated,
$numStatsConsolidated, $numStatsConsolidated,
$consolidateFrom,
$consolidateUpTo, $consolidateUpTo,
scalar(localtime($consolidateFrom)),
scalar(localtime($consolidateUpTo)) scalar(localtime($consolidateUpTo))
); );
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment