{# # --------------------------------------------------------------------- # # GLPI - Gestionnaire Libre de Parc Informatique # # http://glpi-project.org # # @copyright 2015-2023 Teclib' and contributors. # @copyright 2003-2014 by the INDEPNET Development Team. # @licence https://www.gnu.org/licenses/gpl-3.0.html # # --------------------------------------------------------------------- # # LICENSE # # This file is part of GLPI. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # --------------------------------------------------------------------- #} {% set rand = rand|default(random()) %} {% macro print_clean_array(data, pad = 0, js_expand = false) %} {% if data|length > 0 %} {% for key, value in data %} {% set row_rand = random() %} {% endfor %}
KEY => VALUE
{{ key }} {% if js_expand and (value is array or value is object) %} => {% else %} => {% endif %} {% if value is array %} {% if js_expand %} array({{ value|length }}) {% else %} array({{ value|length }}) {% endif %}
{{ _self.print_clean_array(value, pad + 1) }}
{% else %} {% if value is object %} {# Split the type info and object contents #} {% set out = dump(value)|trim|split(' ', 2) %} {% if js_expand %} {{ out[0] }} {% else %} {{ out[0] }} {% endif %}
{{ out[1]|trim }}
{% else %} {{ dump(value) }} {% endif %} {% endif %}
{% else %} {{ __('Empty array') }} {% endif %} {% endmacro %} {% macro display_clean_sql(query) %} {{ query|replace({ 'UNION': '
UNION
', 'FROM': '
FROM', 'WHERE': '
WHERE', 'INNER JOIN': '
INNER JOIN', 'LEFT JOIN': '
LEFT JOIN', 'ORDER BY': '
ORDER BY', 'SORT': '
SORT', '>': '>', '<': '<', })|raw }} {% endmacro %}
Execution time
{{ summary['execution_time'] }}
Memory usage
{{ summary['memory_usage']|formatted_size }}
{% if debug_sql %}
SQL queries count
{{ summary['sql_queries_count'] }}
SQL queries duration
{{ summary['sql_queries_duration'] }}
{% endif %}
{% if debug_sql %}

{{ sql_info['total_requests'] }} Queries took {{ sql_info['total_duration'] }}

{% for query in sql_info['queries'] %} {% endfor %}
Query Time Rows Warnings Errors
{{ query['num'] }} {{ _self.display_clean_sql(query['query']) }} {{ query['time'] }} {{ query['rows'] }} {{ query['warnings']|nl2br }} {{ query['errors']|nl2br }}
{% endif %} {% if debug_vars %}
{{ _self.print_clean_array(vars_info['post'], 0, true) }}
{{ _self.print_clean_array(vars_info['get'], 0, true) }}
{% if with_session %}
{{ _self.print_clean_array(vars_info['session'], 0, true) }}
{% endif %}
{{ _self.print_clean_array(vars_info['server'], 0, true) }}
{% endif %} {% for tab_id, tab_info in plugin_tabs %} {% if tab_info['display_callable'] is defined %}
{{ call(tab_info['display_callable'], { 'with_session': with_session, 'ajax': ajax, 'rand': rand, }) }}
{% endif %} {% endfor %}