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:
authorThomas Steur <thomas.steur@gmail.com>2015-01-16 03:57:49 +0300
committerThomas Steur <thomas.steur@gmail.com>2015-01-19 23:31:07 +0300
commita141a2978aa669ab0bb34f4083afa02528e6a974 (patch)
tree8781e6b2d0404754c4a2ac6b0b922fb6ac0f55d0 /plugins/Actions/Archiver.php
parent8babf774ffcae35a1c1c88efe2e8bb44d2726494 (diff)
refs #5248 added possibibility to add more metrics to actions plugin
Diffstat (limited to 'plugins/Actions/Archiver.php')
-rw-r--r--plugins/Actions/Archiver.php239
1 files changed, 107 insertions, 132 deletions
diff --git a/plugins/Actions/Archiver.php b/plugins/Actions/Archiver.php
index 199438445e..639ee81c50 100644
--- a/plugins/Actions/Archiver.php
+++ b/plugins/Actions/Archiver.php
@@ -9,7 +9,7 @@
namespace Piwik\Plugins\Actions;
use Piwik\DataTable;
-use Piwik\Metrics;
+use Piwik\Metrics as PiwikMetrics;
use Piwik\RankingQuery;
use Piwik\Tracker\Action;
use Piwik\Plugins\Actions\Actions\ActionSiteSearch;
@@ -37,39 +37,6 @@ class Archiver extends \Piwik\Plugin\Archiver
const METRIC_SEARCHES_RECORD_NAME = 'Actions_nb_searches';
const METRIC_KEYWORDS_RECORD_NAME = 'Actions_nb_keywords';
- /* Metrics in use by the API Actions.get */
- public static $actionsAggregateMetrics = array(
- self::METRIC_PAGEVIEWS_RECORD_NAME => 'nb_pageviews',
- self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => 'nb_uniq_pageviews',
- self::METRIC_DOWNLOADS_RECORD_NAME => 'nb_downloads',
- self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME => 'nb_uniq_downloads',
- self::METRIC_OUTLINKS_RECORD_NAME => 'nb_outlinks',
- self::METRIC_UNIQ_OUTLINKS_RECORD_NAME => 'nb_uniq_outlinks',
- self::METRIC_SEARCHES_RECORD_NAME => 'nb_searches',
- self::METRIC_KEYWORDS_RECORD_NAME => 'nb_keywords',
- );
-
- public static $actionTypes = array(
- Action::TYPE_PAGE_URL,
- Action::TYPE_OUTLINK,
- Action::TYPE_DOWNLOAD,
- Action::TYPE_PAGE_TITLE,
- Action::TYPE_SITE_SEARCH,
- );
- protected static $columnsToRenameAfterAggregation = array(
- Metrics::INDEX_NB_UNIQ_VISITORS => Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS => Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS,
- );
- public static $columnsToDeleteAfterAggregation = array(
- Metrics::INDEX_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
- );
- private static $columnsAggregationOperation = array(
- Metrics::INDEX_PAGE_MAX_TIME_GENERATION => 'max',
- Metrics::INDEX_PAGE_MIN_TIME_GENERATION => 'min'
- );
protected $actionsTablesByType = null;
protected $isSiteSearchEnabled = false;
@@ -133,10 +100,10 @@ class Archiver extends \Piwik\Plugin\Archiver
protected function updateQuerySelectFromForSiteSearch(&$select, &$from)
{
$selectFlagNoResultKeywords = ",
- CASE WHEN (MAX(log_link_visit_action.custom_var_v" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . ") = 0
- AND log_link_visit_action.custom_var_k" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . " = '" . ActionSiteSearch::CVAR_KEY_SEARCH_COUNT . "')
- THEN 1 ELSE 0 END
- AS `" . Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
+ CASE WHEN (MAX(log_link_visit_action.custom_var_v" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . ") = 0
+ AND log_link_visit_action.custom_var_k" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . " = '" . ActionSiteSearch::CVAR_KEY_SEARCH_COUNT . "')
+ THEN 1 ELSE 0 END
+ AS `" . PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
//we need an extra JOIN to know whether the referrer "idaction_name_ref" was a Site Search request
$from[] = array(
@@ -146,9 +113,9 @@ class Archiver extends \Piwik\Plugin\Archiver
);
$selectPageIsFollowingSiteSearch = ",
- SUM( CASE WHEN log_action_name_ref.type = " . Action::TYPE_SITE_SEARCH . "
- THEN 1 ELSE 0 END)
- AS `" . Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
+ SUM( CASE WHEN log_action_name_ref.type = " . Action::TYPE_SITE_SEARCH . "
+ THEN 1 ELSE 0 END)
+ AS `" . PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
$select .= $selectFlagNoResultKeywords
. $selectPageIsFollowingSiteSearch;
@@ -160,7 +127,7 @@ class Archiver extends \Piwik\Plugin\Archiver
private function initActionsTables()
{
$this->actionsTablesByType = array();
- foreach (self::$actionTypes as $type) {
+ foreach (Metrics::$actionTypes as $type) {
$dataTable = new DataTable();
$dataTable->setMaximumAllowedRows(ArchivingHelper::$maximumRowsInDataTableLevelZero);
@@ -168,7 +135,7 @@ class Archiver extends \Piwik\Plugin\Archiver
|| $type == Action::TYPE_PAGE_TITLE
) {
// for page urls and page titles, performance metrics exist and have to be aggregated correctly
- $dataTable->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, self::$columnsAggregationOperation);
+ $dataTable->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, Metrics::$columnsAggregationOperation);
}
$this->actionsTablesByType[$type] = $dataTable;
@@ -177,30 +144,17 @@ class Archiver extends \Piwik\Plugin\Archiver
protected function archiveDayActions($rankingQueryLimit)
{
+ $metricsConfig = Metrics::getActionMetrics();
+
$select = "log_action.name,
- log_action.type,
- log_action.idaction,
- log_action.url_prefix,
- count(distinct log_link_visit_action.idvisit) as `" . Metrics::INDEX_NB_VISITS . "`,
- count(distinct log_link_visit_action.idvisitor) as `" . Metrics::INDEX_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,
- sum(
- case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
- then 0
- else " . Action::DB_COLUMN_CUSTOM_FLOAT . "
- end
- ) / 1000 as `" . Metrics::INDEX_PAGE_SUM_TIME_GENERATION . "`,
- sum(
- case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
- then 0
- else 1
- end
- ) as `" . Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION . "`,
- min(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000
- as `" . Metrics::INDEX_PAGE_MIN_TIME_GENERATION . "`,
- max(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000
- as `" . Metrics::INDEX_PAGE_MAX_TIME_GENERATION . "`
- ";
+ log_action.type,
+ log_action.idaction,
+ log_action.url_prefix,
+ count(distinct log_link_visit_action.idvisit) as `" . PiwikMetrics::INDEX_NB_VISITS . "`,
+ count(distinct log_link_visit_action.idvisitor) as `" . PiwikMetrics::INDEX_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_NB_HITS . "`";
+
+ $select = $this->addMetricsToSelect($select, $metricsConfig);
$from = array(
"log_link_visit_action",
@@ -211,29 +165,29 @@ class Archiver extends \Piwik\Plugin\Archiver
);
$where = "log_link_visit_action.server_time >= ?
- AND log_link_visit_action.server_time <= ?
- AND log_link_visit_action.idsite = ?
- AND log_link_visit_action.%s IS NOT NULL"
+ AND log_link_visit_action.server_time <= ?
+ AND log_link_visit_action.idsite = ?
+ AND log_link_visit_action.%s IS NOT NULL"
. $this->getWhereClauseActionIsNotEvent();
$groupBy = "log_action.idaction";
- $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
$rankingQuery = false;
if ($rankingQueryLimit > 0) {
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn(array('idaction', 'name'));
- $rankingQuery->addColumn(array('url_prefix', Metrics::INDEX_NB_UNIQ_VISITORS));
- $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_NB_HITS, Metrics::INDEX_NB_VISITS), 'sum');
+ $rankingQuery->addColumn(array('url_prefix', PiwikMetrics::INDEX_NB_UNIQ_VISITORS));
+ $rankingQuery->addColumn(array(PiwikMetrics::INDEX_PAGE_NB_HITS, PiwikMetrics::INDEX_NB_VISITS), 'sum');
+
if ($this->isSiteSearchEnabled()) {
- $rankingQuery->addColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
}
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION, 'sum');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, 'sum');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_MIN_TIME_GENERATION, 'min');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_MAX_TIME_GENERATION, 'max');
+
+ $this->addMetricsToRankingQuery($rankingQuery, $metricsConfig);
+
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
}
@@ -244,9 +198,30 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->updateQuerySelectFromForSiteSearch($select, $from);
}
- $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_name", $rankingQuery);
+ $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_name", $rankingQuery, $metricsConfig);
+ $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_url", $rankingQuery, $metricsConfig);
+ }
- $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_url", $rankingQuery);
+ private function addMetricsToSelect($select, $metricsConfig)
+ {
+ if (!empty($metricsConfig)) {
+ foreach ($metricsConfig as $metric => $config) {
+ $select .= ', ' . $config['query'] . " as `" . $metric . "`";
+ }
+ }
+
+ return $select;
+ }
+
+ private function addMetricsToRankingQuery(RankingQuery $rankingQuery, $metricsConfig)
+ {
+ foreach ($metricsConfig as $metric => $config) {
+ if (!empty($config['aggregation'])) {
+ $rankingQuery->addColumn($metric, $config['aggregation']);
+ } else {
+ $rankingQuery->addColumn($metric);
+ }
+ }
}
protected function isSiteSearchEnabled()
@@ -254,7 +229,7 @@ class Archiver extends \Piwik\Plugin\Archiver
return $this->isSiteSearchEnabled;
}
- protected function archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, $sprintfField, RankingQuery $rankingQuery = null)
+ protected function archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, $sprintfField, RankingQuery $rankingQuery = null, $metricsConfig = array())
{
$select = sprintf($select, $sprintfField);
@@ -271,7 +246,7 @@ class Archiver extends \Piwik\Plugin\Archiver
// get result
$resultSet = $this->getLogAggregator()->getDb()->query($querySql, $query['bind']);
- $modified = ArchivingHelper::updateActionsTableWithRowQuery($resultSet, $sprintfField, $this->actionsTablesByType);
+ $modified = ArchivingHelper::updateActionsTableWithRowQuery($resultSet, $sprintfField, $this->actionsTablesByType, $metricsConfig);
return $modified;
}
@@ -285,11 +260,11 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
- $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
- Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
- Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
- Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
+ $rankingQuery->addColumn(array(PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+ PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
$extraSelects = 'log_action.type, log_action.name,';
@@ -300,7 +275,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_visit.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_visit";
@@ -308,16 +283,16 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_visit.%s as idaction, $extraSelects
- count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
- sum(log_visit.visit_total_actions) as `" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
- sum(log_visit.visit_total_time) as `" . Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
- sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
+ count(distinct log_visit.idvisitor) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
+ sum(log_visit.visit_total_actions) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
+ sum(log_visit.visit_total_time) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
+ sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
$where = "log_visit.visit_last_action_time >= ?
- AND log_visit.visit_last_action_time <= ?
- AND log_visit.idsite = ?
- AND log_visit.%s > 0";
+ AND log_visit.visit_last_action_time <= ?
+ AND log_visit.idsite = ?
+ AND log_visit.%s > 0";
$groupBy = "log_visit.%s, idaction";
@@ -336,8 +311,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
$extraSelects = 'log_action.type, log_action.name,';
@@ -348,7 +323,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_visit.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_visit";
@@ -356,13 +331,13 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_visit.%s as idaction, $extraSelects
- count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
+ count(distinct log_visit.idvisitor) as `" . PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
$where = "log_visit.visit_last_action_time >= ?
- AND log_visit.visit_last_action_time <= ?
- AND log_visit.idsite = ?
- AND log_visit.%s > 0";
+ AND log_visit.visit_last_action_time <= ?
+ AND log_visit.idsite = ?
+ AND log_visit.%s > 0";
$groupBy = "log_visit.%s, idaction";
@@ -382,10 +357,10 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
- $extraSelects = "log_action.type, log_action.name, count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,";
+ $extraSelects = "log_action.type, log_action.name, count(*) as `" . PiwikMetrics::INDEX_PAGE_NB_HITS . "`,";
$from = array(
"log_link_visit_action",
array(
@@ -393,7 +368,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_link_visit_action.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_link_visit_action";
@@ -401,13 +376,13 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_link_visit_action.%s as idaction, $extraSelects
- sum(log_link_visit_action.time_spent_ref_action) as `" . Metrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
+ sum(log_link_visit_action.time_spent_ref_action) as `" . PiwikMetrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
$where = "log_link_visit_action.server_time >= ?
- AND log_link_visit_action.server_time <= ?
- AND log_link_visit_action.idsite = ?
- AND log_link_visit_action.time_spent_ref_action > 0
- AND log_link_visit_action.%s > 0"
+ AND log_link_visit_action.server_time <= ?
+ AND log_link_visit_action.idsite = ?
+ AND log_link_visit_action.time_spent_ref_action > 0
+ AND log_link_visit_action.%s > 0"
. $this->getWhereClauseActionIsNotEvent();
$groupBy = "log_link_visit_action.%s, idaction";
@@ -437,10 +412,10 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->insertTable($dataTable, self::PAGE_URLS_RECORD_NAME);
$records = array(
- self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)),
- self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)),
- self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)),
- self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
+ self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)),
+ self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)),
+ self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_SUM_TIME_GENERATION)),
+ self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
);
$this->getProcessor()->insertNumericRecords($records);
}
@@ -466,8 +441,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$dataTable = $this->getDataTable(Action::TYPE_DOWNLOAD);
$this->insertTable($dataTable, self::DOWNLOADS_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
- $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
}
protected function insertOutlinksReports()
@@ -475,8 +450,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$dataTable = $this->getDataTable(Action::TYPE_OUTLINK);
$this->insertTable($dataTable, self::OUTLINKS_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
- $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
}
protected function insertPageTitlesReports()
@@ -491,21 +466,21 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->deleteUnusedColumnsFromKeywordsDataTable($dataTable);
$this->insertTable($dataTable, self::SITE_SEARCH_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
$this->getProcessor()->insertNumericRecord(self::METRIC_KEYWORDS_RECORD_NAME, $dataTable->getRowsCount());
}
protected function deleteUnusedColumnsFromKeywordsDataTable(DataTable $dataTable)
{
$columnsToDelete = array(
- Metrics::INDEX_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
- Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
- Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
- Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
+ PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
);
$dataTable->deleteColumns($columnsToDelete);
}
@@ -521,8 +496,8 @@ class Archiver extends \Piwik\Plugin\Archiver
ArchivingHelper::$maximumRowsInDataTableLevelZero,
ArchivingHelper::$maximumRowsInSubDataTable,
ArchivingHelper::$columnToSortByBeforeTruncation,
- self::$columnsAggregationOperation,
- self::$columnsToRenameAfterAggregation
+ Metrics::$columnsAggregationOperation,
+ Metrics::$columnsToRenameAfterAggregation
);
$dataTableToSum = array(
@@ -536,7 +511,7 @@ class Archiver extends \Piwik\Plugin\Archiver
ArchivingHelper::$maximumRowsInSubDataTable,
ArchivingHelper::$columnToSortByBeforeTruncation,
$aggregation,
- self::$columnsToRenameAfterAggregation
+ Metrics::$columnsToRenameAfterAggregation
);
$this->getProcessor()->aggregateNumericMetrics($this->getMetricNames());