Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattab <matthieu.aubry@gmail.com>2014-09-08 14:07:46 +0400
committermattab <matthieu.aubry@gmail.com>2014-09-08 14:07:46 +0400
commitbd4a852865bec54d4260f4c32a0281443b5ab863 (patch)
tree9fe289a18171bd7b534562e36ade1c065cec703b /core/ArchiveProcessor.php
parent02547bcb2b8b2949f396b2cf9497e96e53279fbd (diff)
Refs #6109 New core metric: nb_users as the count of distinct user ids. Means "Active Users". Displayed in Visitors Overview, in metrics picker, in API response, in Metadata
Diffstat (limited to 'core/ArchiveProcessor.php')
-rw-r--r--core/ArchiveProcessor.php17
1 files changed, 11 insertions, 6 deletions
diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php
index cd3fc0138c..c1de099a26 100644
--- a/core/ArchiveProcessor.php
+++ b/core/ArchiveProcessor.php
@@ -368,12 +368,16 @@ class ArchiveProcessor
// we only compute unique visitors for a single site
return;
}
- if ( $row->getColumn('nb_uniq_visitors') !== false) {
+ if ( $row->getColumn('nb_uniq_visitors') !== false
+ || $row->getColumn('nb_users') !== false) {
if (SettingsPiwik::isUniqueVisitorsEnabled($this->getParams()->getPeriod()->getLabel())) {
- $uniqueVisitors = (float)$this->computeNbUniqVisitors();
- $row->setColumn('nb_uniq_visitors', $uniqueVisitors);
+ $metrics = array(Metrics::INDEX_NB_UNIQ_VISITORS, Metrics::INDEX_NB_USERS);
+ $uniques = $this->computeNbUniques( $metrics );
+ $row->setColumn('nb_uniq_visitors', $uniques[Metrics::INDEX_NB_UNIQ_VISITORS]);
+ $row->setColumn('nb_users', $uniques[Metrics::INDEX_NB_USERS]);
} else {
$row->deleteColumn('nb_uniq_visitors');
+ $row->deleteColumn('nb_users');
}
}
}
@@ -395,14 +399,15 @@ class ArchiveProcessor
* This is the only Period metric (ie. week/month/year/range) that we process from the logs directly,
* since unique visitors cannot be summed like other metrics.
*
+ * @param array Metrics Ids for which to aggregates count of values
* @return int
*/
- protected function computeNbUniqVisitors()
+ protected function computeNbUniques($metrics)
{
$logAggregator = $this->getLogAggregator();
- $query = $logAggregator->queryVisitsByDimension(array(), false, array(), array(Metrics::INDEX_NB_UNIQ_VISITORS));
+ $query = $logAggregator->queryVisitsByDimension(array(), false, array(), $metrics);
$data = $query->fetch();
- return $data[Metrics::INDEX_NB_UNIQ_VISITORS];
+ return $data;
}
/**