1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-23 07:27:39 +00:00
Files
matomo/plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml
dizzy 7d8a6c417b join log_action in segment sql queries instead of using idaction IN (...) (#20379)
* Quick test to see if tests would still pass if we joined action segments rather than many subqueries for performance improvement

* improve performance

* improve performance

* improve performance

* improve performance

* improve performance

* fix warning on php 8

* fix some test failures in SegmentTest.php

* fix SegmentTest.php and remove the segment subquery cache since we join to log_action directly now

* removed one too many INI config settings

* add sqlFilterMatch property to Dimension/Segment to allow dimensions to customize exactly what SQL is generated to match a segment value and use by some action dimensions to include SQL that checks log_action.hash and log_action.type

* fix failing unit tests

* remove sqlfilter for ecommerce idaction dimensions

* fix more segment configuration issues

* remove sqlFilterMatch property

* make sure segment list cache key includes idSites configured for Segment intsance

* handle segment table join for every type of join not just ActionNameJoin + add GoalName dimension/segment to allow querying by goal name

* make goal name work correctly w/ auto suggest API + fix some other tests

* deal with in source TODO

* deal with more in-source TODO

* add integration test that uses every idaction segment in core

* add system test with a complicated segment

* tweak

* try prioritizing raw segment value over extra decoded segment value now that we do not search for actions by value before finalizing the parsed segment

* prioritizing raw segment did not work, try only initializing extra decoded segment if the segment condition contains encoded match operators

* make sure ==/!= segment operations involving idaction columns use idaction values queried from log_action beforehand

* fix SegmentTest

* add failing bind test

* make sure we do not include protocol in segment values when checking if a segment contains or does not contain data

* remove unused import

* use index operand consts

* tweak changelog entry

* add test for sqlFilterMatch

* move getOptimizedIdActionSqlMatch to TableLogAction

* remove sqlFilterMatch property + test

* apply review feedback

---------

Co-authored-by: Thomas Steur <tsteur@users.noreply.github.com>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
2023-03-27 11:49:25 +02:00

459 خطوط
11 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Actions In Visit</name>
<segment>actions</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Days since first visit</name>
<segment>daysSinceFirstVisit</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Days since last Ecommerce order</name>
<segment>daysSinceLastEcommerceOrder</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Days since last visit</name>
<segment>daysSinceLastVisit</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Events</name>
<segment>events</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Local time — minute (start of visit)</name>
<segment>visitLocalMinute</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Number of Interactions</name>
<segment>interactions</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Number of Internal Searches</name>
<segment>searches</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Number of visits</name>
<segment>visitCount</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Seconds since first visit</name>
<segment>secondsSinceFirstVisit</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Seconds since last Ecommerce order</name>
<segment>secondsSinceLastEcommerceOrder</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Seconds since last visit</name>
<segment>secondsSinceLastVisit</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Visit Duration (in seconds)</name>
<segment>visitDuration</segment>
</row>
<row>
<type>metric</type>
<category>Visitors</category>
<name>Visitor IP</name>
<segment>visitIp</segment>
<permission>1</permission>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Browser</name>
<segment>browserName</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Browser code</name>
<segment>browserCode</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Browser engine</name>
<segment>browserEngine</segment>
<suggestedValuesCallback>\DeviceDetector\Parser\Client\Browser\Engine::getAvailableEngines</suggestedValuesCallback>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Browser version</name>
<segment>browserVersion</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Device brand</name>
<segment>deviceBrand</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Device model</name>
<segment>deviceModel</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Device type</name>
<segment>deviceType</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Fingerprint</name>
<segment>fingerprint</segment>
<permission>1</permission>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Local time — hour (start of visit)</name>
<segment>visitLocalHour</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>MyName1</name>
<segment>dimension1</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>MyName2</name>
<segment>dimension2</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>MyName6</name>
<segment>dimension6</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Operating system</name>
<segment>operatingSystemName</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Operating system code</name>
<segment>operatingSystemCode</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Operating system version</name>
<segment>operatingSystemVersion</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Profilable</name>
<segment>profilable</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Resolution</name>
<segment>resolution</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Site time — hour (start of visit)</name>
<segment>visitStartServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Site time — hour (time of last action)</name>
<segment>visitServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — date (time of last action)</name>
<segment>visitEndServerDate</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — day of month (time of last action)</name>
<segment>visitEndServerDayOfMonth</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — day of week (time of last action)</name>
<segment>visitEndServerDayOfWeek</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — day of year (time of last action)</name>
<segment>visitEndServerDayOfYear</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — minute (start of visit)</name>
<segment>visitStartServerMinute</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — minute (time of last action)</name>
<segment>visitEndServerMinute</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — month (time of last action)</name>
<segment>visitEndServerMonth</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — quarter (time of last action)</name>
<segment>visitEndServerQuarter</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — second (Time of last action)</name>
<segment>visitEndServerSecond</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — week of year (time of last action)</name>
<segment>visitEndServerWeekOfYear</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Time in UTC — year (time of last action)</name>
<segment>visitEndServerYear</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>User ID</name>
<segment>userId</segment>
<permission>1</permission>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit Ecommerce status at the end of the visit</name>
<segment>visitEcommerceStatus</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit ID</name>
<segment>visitId</segment>
<permission>1</permission>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit converted a specific Goal Id</name>
<segment>visitConvertedGoalId</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit converted a specific Goal Name</name>
<segment>visitConvertedGoalName</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit converted at least one Goal</name>
<segment>visitConverted</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visit type</name>
<segment>visitorType</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
<name>Visitor ID</name>
<segment>visitorId</segment>
<permission>1</permission>
</row>
<row>
<type>metric</type>
<category>Behaviour</category>
<name>Bandwidth</name>
<segment>bandwidth</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Action Type</name>
<segment>actionType</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Action URL</name>
<segment>actionUrl</segment>
<unionOfSegments>
<row>pageUrl</row>
<row>downloadUrl</row>
<row>outlinkUrl</row>
<row>eventUrl</row>
</unionOfSegments>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Category (Site Search)</name>
<segment>siteSearchCategory</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Clicked Outlink</name>
<segment>outlinkUrl</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Content Interaction</name>
<segment>contentInteraction</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Content Name</name>
<segment>contentName</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Content Piece</name>
<segment>contentPiece</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Content Target</name>
<segment>contentTarget</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Download URL</name>
<segment>downloadUrl</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Entry Page URL</name>
<segment>entryPageUrl</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Entry Page title</name>
<segment>entryPageTitle</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Exit Page Title</name>
<segment>exitPageTitle</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Exit Page URL</name>
<segment>exitPageUrl</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Keyword (Site Search)</name>
<segment>siteSearchKeyword</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Keyword count (Site Search)</name>
<segment>siteSearchCount</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>MyName3</name>
<segment>dimension3</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>MyName5</name>
<segment>dimension5</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Page Title</name>
<segment>pageTitle</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Page URL</name>
<segment>pageUrl</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Site time — hour</name>
<segment>actionServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
<name>Time in UTC — minute</name>
<segment>actionServerMinute</segment>
</row>
</result>