Sh3ll
OdayForums


Server : LiteSpeed
System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : claqxcrl ( 523)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /home/claqxcrl/anfangola.com/wp-content/plugins/matomo/app/plugins/PagePerformance/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/claqxcrl/anfangola.com/wp-content/plugins/matomo/app/plugins/PagePerformance/Metrics.php
<?php

/**
 * Matomo - free/libre analytics platform
 *
 * @link https://matomo.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 *
 */
namespace Piwik\Plugins\PagePerformance;

use Piwik\Columns\Dimension;
use Piwik\Plugin\Dimension\ActionDimension;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AveragePageLoadTime;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeDomCompletion;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeDomProcessing;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeNetwork;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeServer;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeOnLoad;
use Piwik\Plugins\PagePerformance\Columns\Metrics\AverageTimeTransfer;
use Piwik\Plugins\PagePerformance\Columns\TimeDomCompletion;
use Piwik\Plugins\PagePerformance\Columns\TimeDomProcessing;
use Piwik\Plugins\PagePerformance\Columns\TimeNetwork;
use Piwik\Plugins\PagePerformance\Columns\TimeServer;
use Piwik\Plugins\PagePerformance\Columns\TimeOnLoad;
use Piwik\Plugins\PagePerformance\Columns\TimeTransfer;
class Metrics
{
    /**
     * @return \Piwik\Plugins\PagePerformance\Columns\Metrics\AveragePerformanceMetric[]
     */
    public static function getPagePerformanceMetrics()
    {
        $metrics = [new AverageTimeNetwork(), new AverageTimeServer(), new AverageTimeTransfer(), new AverageTimeDomProcessing(), new AverageTimeDomCompletion(), new AverageTimeOnLoad()];
        $mappedMetrics = [];
        foreach ($metrics as $metric) {
            $mappedMetrics[$metric->getName()] = $metric;
        }
        return $mappedMetrics;
    }
    /**
     * @return \Piwik\Plugins\PagePerformance\Columns\Metrics\AveragePerformanceMetric[]
     */
    public static function getAllPagePerformanceMetrics()
    {
        $metrics = [new AverageTimeNetwork(), new AverageTimeServer(), new AverageTimeTransfer(), new AverageTimeDomProcessing(), new AverageTimeDomCompletion(), new AverageTimeOnLoad(), new AveragePageLoadTime()];
        $mappedMetrics = [];
        foreach ($metrics as $metric) {
            $mappedMetrics[$metric->getName()] = $metric;
        }
        return $mappedMetrics;
    }
    public static function getMetricTranslations()
    {
        $translations = array();
        foreach (self::getAllPagePerformanceMetrics() as $metric) {
            $translations[$metric->getName()] = $metric->getTranslatedName();
        }
        return $translations;
    }
    public static function getMetricSemanticTypes()
    {
        $types = [];
        foreach (self::getAllPagePerformanceMetrics() as $metric) {
            $types[$metric->getName()] = Dimension::TYPE_DURATION_S;
        }
        return $types;
    }
    public static function attachActionMetrics(&$metricsConfig)
    {
        $table = 'log_link_visit_action';
        /**
         * @var ActionDimension[] $performanceDimensions
         */
        $performanceDimensions = [new TimeNetwork(), new TimeServer(), new TimeTransfer(), new TimeDomProcessing(), new TimeDomCompletion(), new TimeOnLoad()];
        foreach ($performanceDimensions as $dimension) {
            $id = $dimension->getColumnName();
            $column = $table . '.' . $id;
            $metricsConfig['sum_' . $id] = ['aggregation' => 'sum', 'query' => "sum(\n                    case when " . $column . " is null\n                        then 0\n                        else " . $column . "\n                    end\n                ) / 1000"];
            $metricsConfig['nb_hits_with_' . $id] = ['aggregation' => 'sum', 'query' => "sum(\n                    case when " . $column . " is null\n                        then 0\n                        else 1\n                    end\n                )"];
            $metricsConfig['min_' . $id] = ['aggregation' => 'min', 'query' => "min(" . $column . ") / 1000"];
            $metricsConfig['max_' . $id] = ['aggregation' => 'max', 'query' => "max(" . $column . ") / 1000"];
        }
        return $metricsConfig;
    }
}

ZeroDay Forums Mini