1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
declare(strict_types=1);
namespace Piwik\Plugins\BotTracking;
use Piwik\Piwik;
use Piwik\Columns\Dimension;
class Metrics
{
public const METRIC_AI_CHATBOTS_REQUESTS = 'BotTracking_AIChatbotsRequests';
public const METRIC_AI_CHATBOTS_ACQUIRED_VISITS = 'BotTracking_AIChatbotsAcquiredVisits';
public const METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS = 'BotTracking_AIChatbotsUniquePageUrls';
public const METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS = 'BotTracking_AIChatbotsUniqueDocumentUrls';
public const METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS = 'BotTracking_AIChatbotsUniqueChatbots';
public const METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS = 'BotTracking_AIChatbotsNotFoundRequests';
public const METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS = 'BotTracking_AIChatbotsServerErrorRequests';
public const METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE = 'BotTracking_AIChatbotsClickThroughRate';
public const COLUMN_REQUESTS = 'requests';
public const COLUMN_DOCUMENT_REQUESTS = 'document_requests';
public const COLUMN_PAGE_REQUESTS = 'page_requests';
public const COLUMN_ACQUIRED_VISITS = 'visits_acquired';
/**
* Metrics displayed in the reports (including derived metrics).
*
* @return string[]
*/
public static function getReportMetricColumns(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS,
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS,
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS,
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS,
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS,
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS,
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS,
];
}
/**
* Ordered list used for sparklines & graph selectors.
*
* @return string[]
*/
public static function getSparklineMetricOrder(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS,
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS,
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS,
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS,
self::METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE,
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS,
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS,
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS,
];
}
/**
* @return array<string, string>
*/
public static function getMetricTranslations(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS => Piwik::translate('BotTracking_ColumnRequests'),
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS => Piwik::translate('BotTracking_ColumnAcquiredVisits'),
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS => Piwik::translate('BotTracking_ColumnUniquePageUrls'),
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS => Piwik::translate('BotTracking_ColumnUniqueDocumentUrls'),
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS => Piwik::translate('BotTracking_ColumnUniqueAiChatbots'),
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS => Piwik::translate('BotTracking_ColumnNotFoundRequests'),
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS => Piwik::translate('BotTracking_ColumnServerErrorRequests'),
self::METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE => Piwik::translate('BotTracking_ColumnClickThroughRate'),
];
}
/**
* @return array<string, string>
*/
public static function getMetricDocumentation(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS => Piwik::translate('BotTracking_ColumnRequestsDocumentation'),
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS => Piwik::translate('BotTracking_ColumnAcquiredVisitsDocumentation'),
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS => Piwik::translate('BotTracking_ColumnUniquePageUrlsDocumentation'),
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS => Piwik::translate('BotTracking_ColumnUniqueDocumentUrlsDocumentation'),
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS => Piwik::translate('BotTracking_ColumnUniqueAiChatbotsDocumentation'),
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS => Piwik::translate('BotTracking_ColumnNotFoundRequestsDocumentation'),
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS => Piwik::translate('BotTracking_ColumnServerErrorRequestsDocumentation'),
self::METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE => Piwik::translate('BotTracking_ColumnClickThroughRateDocumentation'),
];
}
/**
* @return array<string, string>
*/
public static function getMetricSemanticTypes(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS => Dimension::TYPE_NUMBER,
self::METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE => Dimension::TYPE_PERCENT,
];
}
/**
* Map of glossary entries (translation key => documentation key).
*
* @return array<string, string>
*/
public static function getGlossaryEntries(): array
{
return [
self::METRIC_AI_CHATBOTS_REQUESTS => 'BotTracking_ColumnRequestsDocumentation',
self::METRIC_AI_CHATBOTS_ACQUIRED_VISITS => 'BotTracking_ColumnAcquiredVisitsDocumentation',
self::METRIC_AI_CHATBOTS_UNIQUE_PAGE_URLS => 'BotTracking_ColumnUniquePageUrlsDocumentation',
self::METRIC_AI_CHATBOTS_UNIQUE_DOCUMENT_URLS => 'BotTracking_ColumnUniqueDocumentUrlsDocumentation',
self::METRIC_AI_CHATBOTS_UNIQUE_CHATBOTS => 'BotTracking_ColumnUniqueAiChatbotsDocumentation',
self::METRIC_AI_CHATBOTS_NOT_FOUND_REQUESTS => 'BotTracking_ColumnNotFoundRequestsDocumentation',
self::METRIC_AI_CHATBOTS_SERVER_ERROR_REQUESTS => 'BotTracking_ColumnServerErrorRequestsDocumentation',
self::METRIC_AI_CHATBOTS_CLICK_THROUGH_RATE => 'BotTracking_ColumnClickThroughRateDocumentation',
];
}
}
|