{% extends '@WebProfiler/Profiler/layout.html.twig' %}
{% block page_title 'Twig Components' %}
{% block head %}
{{ parent() }}
{% endblock %}
{% block toolbar %}
{% if collector.renderCount %}
{% set icon %}
{{ source('@TwigComponent/Collector/icon.svg') }}
{{ collector.renderCount }}
in
{{ collector.renderTime|round }}
ms
{% endset %}
{% set text %}
{% for _component in collector.components %}
{{ _component.name }}
{{ _component.render_count }}
{% endfor %}
{% endset %}
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', {link: profiler_url}) }}
{% endif %}
{% endblock %}
{% block menu %}
{{ source('@TwigComponent/Collector/icon.svg') }}
Twig Components
{% endblock %}
{% block panel %}
Components
{% if not collector.componentCount|default %}
No component were rendered for this request.
{% else %}
{{ _self.metric(collector.componentCount, "Twig Components") }}
{{ _self.metric(collector.renderCount, "Render Count") }}
{{ _self.metric(collector.renderTime|round, "Render Time", "ms") }}
{{ _self.metric((collector.peakMemoryUsage / 1024 / 1024)|number_format(1), "Memory Usage", "MiB") }}
Components
{{ block('table_components') }}
Render calls
{{ block('table_renders') }}
{% endif %}
{% endblock %}
{% macro metric(value, label, unit = '') %}
{{ value }}
{% if unit %}
{{ unit }}
{% endif %}
{{- label -}}
{% endmacro %}
{% block table_components %}
{% for component in collector.components %}
{% endfor %}
Name
|
Metadata
|
Render
Count
|
Render
Time
|
{{ component.name }} |
{% if component.class == 'Symfony\\UX\\TwigComponent\\AnonymousComponent' %}
[Anonymous]
{% else %}
{{ profiler_dump(component.class_stub) }}
{% endif %}
{% if component.template_path %}
{{- component.template -}}
{% else %}
{{ component.template }}
{% endif %}
|
{{ component.render_count }} |
{{- component.render_time|number_format(2) -}}
ms
|
{% endblock %}
{% block table_renders %}
{% set _memory = null %}
{% for render in collector.renders %}
{{ render.depth ? source('@TwigComponent/Collector/chevron-down.svg') }}{{ render.name }} |
{% if render.class == 'Symfony\\UX\\TwigComponent\\AnonymousComponent' %}
[Anonymous]
{% else %}
{{ render.class }}
{% endif %}
|
{% set _render_memory = render.render_memory|default(0) / 1024 / 1024 %}
{{- _render_memory|number_format(1) -}}
MiB
{% set _memory = _render_memory %}
|
{{ render.render_time|number_format(2) }}
ms
|
|
Input props |
{{ profiler_dump(render.input_props) }} |
Attributes |
{{ profiler_dump(render.attributes) }} |
Component |
{{ profiler_dump(render.component) }} |
{% endfor %}
{% endblock %}