1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-21 22:47:43 +00:00
Files
matomo/plugins/Live/templates/_profileSummary.twig
Stefan Giehl 6936b93cba New page performance reports (#15736)
* Adds various new performance metrics and dimensions

* Adds tracking for new performance values

* track performance metrics only for page views

* Archive new performance metrics

* move everything into a new plugin

* fix archiving of overall metrics

* Adds new overview reports

* show performance metric on some more reports

* adds new page performance icon

* Adds new row action to view page performance evolution for pages

* Adds new stacked bar visualization for page performance evolutions

* show total value in stacked bar chart tooltips

* [TEMP] use php tracker package branch

* Adds some simple System tests

* Adds some UI tests

* remove performance metrics from action reports that don't support it

* move calculation to api

* mark as tracker plugin

* improve calculation of maximum value in bar evolution chart

* enrich existing tests with performance metrics

* updates expected test files

* send performance metrics with the next request after they are available

this might not be the pageview it self but any request after it, like a ping, goal, ...

* Adds request processor to process performance metrics not sent directly with the page view

* rebuilt js

* Add metric decriptions to evolution chart documentation

* fix convertion of microseconds part

* Ensure average page load time is displayed in evolution graph in scheduled reports

* fix some more tests

* move page performance overview to visitors overview

* Adds new table with performance metrics visualization

* Adds some additional information to page performance evolution overlay

* update omnifixture

* updates expected UI files

* Use mediumints for new dimensions

* Adds additional permission check

* Encode label in page performance overlay title

* Improve updating performance metrics in later requests

* Adds some integration tests

* improves metric documentations

* Send already available performance data with page view request

* update tests

* updates expected UI test screenshots

* updates expected test files

* improves archiving

* show page generation time in performance metrics table if matomo was installed before 4.0

* Hide page generation time in ui reports if Matomo was installed after 4.0

* Fix removal of unavailable columns from being displayed

that was done too early in the process causing to be overwritten again by the reports configureView

* do not track automatically calculated generation time any more

* split latency into network and server time

* [TEMP] update php tracker

* rebuilt piwik.js

* Ensure to count zero values as hits

* updates Omnifixture

* updates expected test files

* remove possibility to set generation time

* rebuilt piwik.js

* adjust tests

* update php tracker

* update test logs

* submodule

* update Omnifixture

* show page load time in action tooltip and visitor summary instead of generation time

* updates expected ui files

* mark page generation time metric as deprecated

* fix tests

* [TEMP] use submodule branches

* ensure lower metric values are shown as better

* use 4.x-dev branch of php-tracker

* update submodules
2020-04-17 15:00:51 +02:00

53 خطوط
4.1 KiB
Twig

{% set pageviewDetails %}
{{ visitorData.totalUniquePageViews }} {{ 'General_ColumnUniquePageviews'|translate }}, {{ visitorData.totalRevisitedPages }} {{ 'Actions_RevisitedPages'|translate }}
{% endset %}
<div class="visitor-profile-summary visitor-profile-resume">
<h1>{{ 'General_Summary'|translate }}</h1>
<div>
{% if visitorData.hasMoreVisits %}
<p>{{ 'Live_LimitedSummary'|translate('<strong>' ~ visitorData.totalVisits ~ '</strong>')|raw }}</p>
{% endif %}
{% if visitorData.totalPageViews != visitorData.totalActions %}
{% set actionDetails = [] %}
{% if visitorData.totalPageViews > 0 %}{% set actionDetails = actionDetails|merge(['<span title="' ~ pageviewDetails ~ '">' ~ visitorData.totalPageViews ~ ' ' ~ 'General_ColumnPageviews'|translate ~ '</span>']) %}{% endif %}
{% if visitorData.totalEvents is defined and visitorData.totalEvents > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalEvents ~ ' ' ~ 'Events_Events'|translate]) %}{% endif %}
{% if visitorData.totalDownloads > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalDownloads ~ ' ' ~ 'General_Downloads'|translate]) %}{% endif %}
{% if visitorData.totalOutlinks > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalOutlinks ~ ' ' ~ 'General_Outlinks'|translate]) %}{% endif %}
{% if visitorData.totalSearches > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalSearches ~ ' ' ~ 'Actions_ColumnSearches'|translate]) %}{% endif %}
<p>{{ 'Live_VisitSummaryWithActionDetails'|translate('<strong>' ~ visitorData.totalVisitDurationPretty ~ '</strong>', '', '', '<strong>' ~ visitorData.totalActions, '</strong>', actionDetails|join(', ') , '<strong>' ~ visitorData.totalVisits, '</strong>')|raw }}</p>
{% else %}
<p>{{ 'Live_VisitSummary'|translate('<strong>' ~ visitorData.totalVisitDurationPretty ~ '</strong>', '', '', '<strong title="' ~ pageviewDetails ~ '">' ~ visitorData.totalActions, '</strong>', '<strong>' ~ visitorData.totalVisits, '</strong>')|raw }}</p>
{% endif %}
{% if visitorData.totalGoalConversions is defined %}
<p>{% if visitorData.totalGoalConversions %}<strong>{% endif %}{{ 'Live_ConvertedNGoals'|translate(visitorData.totalGoalConversions) }}{% if visitorData.totalGoalConversions %}</strong>{% endif %}
{%- if visitorData.totalGoalConversions %}
{% set goalList %}
{%- for idGoal, totalConversions in visitorData.totalConversionsByGoal -%}
{%- set idGoal = idGoal[7:] -%}
{% if goals[idGoal] is defined %}
{%- if not loop.first %}, {% endif -%}{{- totalConversions }} {{ goals[idGoal]['name'] -}}
{% endif %}
{%- endfor -%}
{% endset %}
{% if goalList %}({{ goalList }}){% endif %}
{%- endif %}.</p>
{% endif %}
{% if visitorData.totalSearches|default(0) %}
<p>
{{ 'Actions_WidgetSearchKeywords'|translate }}:
{%- for entry in visitorData.searches %} <strong title="{% if entry.searches == 1 %}{{ 'Actions_OneSearch'|translate }}{% else %}{{ 'UserCountryMap_Searches'|translate(entry.searches) }}{% endif %}">{{ entry.keyword }}</strong>{% if not loop.last %},{% endif %}{% endfor %}
</p>
{% endif %}
{% if visitorData.averagePageLoadTime|default(0) > 0 %}
<p title="{{ 'Live_CalculatedOverNPageViews'|translate(visitorData.totalPageViewsWithLoadTime) }}">
{{ 'Live_AveragePageGenerationTime'|translate('<strong>' ~ visitorData.averagePageLoadTime ~ 's</strong>')|raw }}
</p>
{% endif %}
{% if visitorData.averagePageLoadTime|default(0) == 0 and visitorData.averagePageGenerationTime is defined %}
<p title="{{ 'Live_CalculatedOverNPageViews'|translate(visitorData.totalPageViewsWithTiming) }}">
{{ 'Live_AveragePageGenerationTime'|translate('<strong>' ~ visitorData.averagePageGenerationTime ~ 's</strong>')|raw }}
</p>
{% endif %}
</div>
</div>