parent = $this->loadTemplate("@WebProfiler/Profiler/layout.html.twig", "@WebProfiler/Collector/time.html.twig", 1); $this->blocks = [ 'toolbar' => [$this, 'block_toolbar'], 'menu' => [$this, 'block_menu'], 'panel' => [$this, 'block_panel'], 'panelContent' => [$this, 'block_panelContent'], ]; } protected function doGetParent(array $context) { return "@WebProfiler/Profiler/layout.html.twig"; } protected function doDisplay(array $context, array $blocks = []) { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@WebProfiler/Collector/time.html.twig")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@WebProfiler/Collector/time.html.twig")); // line 3 $context["helper"] = $this; // line 5 if ( !(isset($context["colors"]) || array_key_exists("colors", $context))) { // line 6 $context["colors"] = ["default" => "#999", "section" => "#444", "event_listener" => "#00B8F5", "template" => "#66CC00", "doctrine" => "#FF6633"]; } // line 1 $this->parent->display($context, array_merge($this->blocks, $blocks)); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); } // line 16 public function block_toolbar($context, array $blocks = []) { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar")); // line 17 echo " "; $context["has_time_events"] = (twig_length_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", [])) > 0); // line 18 echo " "; // line 19 $context["total_time"] = ((($context["has_time_events"] ?? $this->getContext($context, "has_time_events"))) ? (sprintf("%.0f", $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "duration", []))) : ("n/a")); // line 20 echo " "; $context["initialization_time"] = ((twig_length_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", []))) ? (sprintf("%.0f", $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "inittime", []))) : ("n/a")); // line 21 echo " "; $context["status_color"] = (((($context["has_time_events"] ?? $this->getContext($context, "has_time_events")) && ($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "duration", []) > 1000))) ? ("yellow") : ("")); // line 22 echo " "; // line 23 ob_start(); // line 24 echo " "; echo twig_include($this->env, $context, "@WebProfiler/Icon/time.svg"); echo " "; // line 25 echo twig_escape_filter($this->env, ($context["total_time"] ?? $this->getContext($context, "total_time")), "html", null, true); echo " ms "; $context["icon"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 28 echo " "; // line 29 ob_start(); // line 30 echo "
Total time "; // line 32 echo twig_escape_filter($this->env, ($context["total_time"] ?? $this->getContext($context, "total_time")), "html", null, true); echo " ms
Initialization time "; // line 36 echo twig_escape_filter($this->env, ($context["initialization_time"] ?? $this->getContext($context, "initialization_time")), "html", null, true); echo " ms
"; $context["text"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 39 echo " "; // line 40 echo twig_include($this->env, $context, "@WebProfiler/Profiler/toolbar_item.html.twig", ["link" => ($context["profiler_url"] ?? $this->getContext($context, "profiler_url")), "status" => ($context["status_color"] ?? $this->getContext($context, "status_color"))]); echo " "; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } // line 43 public function block_menu($context, array $blocks = []) { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu")); // line 44 echo " "; // line 45 echo twig_include($this->env, $context, "@WebProfiler/Icon/time.svg"); echo " Performance "; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } // line 50 public function block_panel($context, array $blocks = []) { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel")); // line 51 echo " "; $context["has_time_events"] = (twig_length_filter($this->env, $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", [])) > 0); // line 52 echo "

Performance metrics

"; // line 56 echo twig_escape_filter($this->env, sprintf("%.0f", $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "duration", [])), "html", null, true); echo " ms Total execution time
"; // line 61 echo twig_escape_filter($this->env, sprintf("%.0f", $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "inittime", [])), "html", null, true); echo " ms Symfony initialization
"; // line 65 if ($this->getAttribute($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "collectors", []), "memory", [])) { // line 66 echo "
"; // line 67 echo twig_escape_filter($this->env, sprintf("%.2f", (($this->getAttribute($this->getAttribute($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "collectors", []), "memory", []), "memory", []) / 1024) / 1024)), "html", null, true); echo " MB Peak memory usage
"; } // line 71 echo " "; // line 72 if ((twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])) > 0)) { // line 73 echo "
"; // line 76 echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])), "html", null, true); echo " Sub-Request"; // line 77 echo (((twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])) > 1)) ? ("s") : ("")); echo "
"; // line 80 if (($context["has_time_events"] ?? $this->getContext($context, "has_time_events"))) { // line 81 echo " "; $context["subrequests_time"] = 0; // line 82 echo " "; $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])); foreach ($context['_seq'] as $context["_key"] => $context["child"]) { // line 83 echo " "; $context["subrequests_time"] = (($context["subrequests_time"] ?? $this->getContext($context, "subrequests_time")) + $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($context["child"], "getcollector", [0 => "time"], "method"), "events", []), "__section__", []), "duration", [])); // line 84 echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['child'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 85 echo " "; } else { // line 86 echo " "; $context["subrequests_time"] = "n/a"; // line 87 echo " "; } // line 88 echo "
"; // line 90 echo twig_escape_filter($this->env, ($context["subrequests_time"] ?? $this->getContext($context, "subrequests_time")), "html", null, true); echo " ms Sub-Request"; // line 91 echo (((twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])) > 1)) ? ("s") : ("")); echo " time
"; } // line 94 echo "

Execution timeline

"; // line 98 if ( !$this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "isStopwatchInstalled", [], "method")) { // line 99 echo "

The Stopwatch component is not installed. If you want to see timing events, run: composer require symfony/stopwatch.

"; } elseif (twig_test_empty($this->getAttribute( // line 102 ($context["collector"] ?? $this->getContext($context, "collector")), "events", []))) { // line 103 echo "

No timing events have been recorded. Are you sure that debugging is enabled in the kernel?

"; } else { // line 107 echo " "; $this->displayBlock("panelContent", $context, $blocks); echo " "; } $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } // line 111 public function block_panelContent($context, array $blocks = []) { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panelContent")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panelContent")); // line 112 echo "
ms (timeline only displays events with a duration longer than this threshold)
"; // line 119 if ($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "parent", [])) { // line 120 echo "

Sub-Request "; // line 121 echo call_user_func_array($this->env->getFunction('profiler_dump')->getCallable(), [$this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "getcollector", [0 => "request"], "method"), "requestattributes", []), "get", [0 => "_controller"], "method")]); echo " "; // line 123 echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", []), "__section__", []), "duration", []), "html", null, true); echo " ms env, $this->env->getExtension('Symfony\Bridge\Twig\Extension\RoutingExtension')->getPath("_profiler", ["token" => $this->getAttribute($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "parent", []), "token", []), "panel" => "time"]), "html", null, true); echo "\">Return to parent request

"; } elseif ((twig_length_filter($this->env, $this->getAttribute( // line 127 ($context["profile"] ?? $this->getContext($context, "profile")), "children", [])) > 0)) { // line 128 echo "

Main Request "; // line 129 echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", []), "__section__", []), "duration", []), "html", null, true); echo " ms

"; } // line 132 echo " "; // line 133 echo $context["helper"]->getdisplay_timeline(("timeline_" . ($context["token"] ?? $this->getContext($context, "token"))), $this->getAttribute(($context["collector"] ?? $this->getContext($context, "collector")), "events", []), ($context["colors"] ?? $this->getContext($context, "colors"))); echo " "; // line 135 if (twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", []))) { // line 136 echo "

Note: sections with a striped background correspond to sub-requests.

Sub-requests ("; // line 138 echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])), "html", null, true); echo ")

"; // line 140 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["profile"] ?? $this->getContext($context, "profile")), "children", [])); foreach ($context['_seq'] as $context["_key"] => $context["child"]) { // line 141 echo " "; $context["events"] = $this->getAttribute($this->getAttribute($context["child"], "getcollector", [0 => "time"], "method"), "events", []); // line 142 echo "

env, $this->env->getExtension('Symfony\Bridge\Twig\Extension\RoutingExtension')->getPath("_profiler", ["token" => $this->getAttribute($context["child"], "token", []), "panel" => "time"]), "html", null, true); echo "\">"; echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($context["child"], "getcollector", [0 => "request"], "method"), "identifier", []), "html", null, true); echo " "; // line 144 echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["events"] ?? $this->getContext($context, "events")), "__section__", []), "duration", []), "html", null, true); echo " ms

"; // line 147 echo $context["helper"]->getdisplay_timeline(("timeline_" . $this->getAttribute($context["child"], "token", [])), ($context["events"] ?? $this->getContext($context, "events")), ($context["colors"] ?? $this->getContext($context, "colors"))); echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['child'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 149 echo " "; } // line 150 echo " "; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } // line 511 public function getdump_request_data($__token__ = null, $__profile__ = null, $__events__ = null, $__origin__ = null, ...$__varargs__) { $context = $this->env->mergeGlobals([ "token" => $__token__, "profile" => $__profile__, "events" => $__events__, "origin" => $__origin__, "varargs" => $__varargs__, ]); $blocks = []; ob_start(); try { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "dump_request_data")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "dump_request_data")); // line 513 $context["__internal_c0f1a48f700124002ea05b7f418c981e388f8465386ea49d51c5f279e00ae239"] = $this; // line 514 echo " { \"id\": \""; // line 515 echo twig_escape_filter($this->env, ($context["token"] ?? $this->getContext($context, "token")), "js", null, true); echo "\", \"left\": "; // line 516 echo twig_escape_filter($this->env, sprintf("%F", ($this->getAttribute($this->getAttribute(($context["events"] ?? $this->getContext($context, "events")), "__section__", []), "origin", []) - ($context["origin"] ?? $this->getContext($context, "origin")))), "js", null, true); echo ", \"events\": [ "; // line 518 echo $context["__internal_c0f1a48f700124002ea05b7f418c981e388f8465386ea49d51c5f279e00ae239"]->getdump_events(($context["events"] ?? $this->getContext($context, "events"))); echo " ] } "; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } catch (\Exception $e) { ob_end_clean(); throw $e; } catch (\Throwable $e) { ob_end_clean(); throw $e; } return ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); } // line 524 public function getdump_events($__events__ = null, ...$__varargs__) { $context = $this->env->mergeGlobals([ "events" => $__events__, "varargs" => $__varargs__, ]); $blocks = []; ob_start(); try { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "dump_events")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "dump_events")); // line 526 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable(($context["events"] ?? $this->getContext($context, "events"))); $context['loop'] = [ 'parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true, ]; if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["name"] => $context["event"]) { // line 527 if (("__section__" != $context["name"])) { // line 528 echo " { \"name\": \""; // line 529 echo twig_escape_filter($this->env, $context["name"], "js", null, true); echo "\", \"category\": \""; // line 530 echo twig_escape_filter($this->env, $this->getAttribute($context["event"], "category", []), "js", null, true); echo "\", \"origin\": "; // line 531 echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["event"], "origin", [])), "js", null, true); echo ", \"starttime\": "; // line 532 echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["event"], "starttime", [])), "js", null, true); echo ", \"endtime\": "; // line 533 echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["event"], "endtime", [])), "js", null, true); echo ", \"duration\": "; // line 534 echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["event"], "duration", [])), "js", null, true); echo ", \"memory\": "; // line 535 echo twig_escape_filter($this->env, sprintf("%.1F", (($this->getAttribute($context["event"], "memory", []) / 1024) / 1024)), "js", null, true); echo ", \"periods\": ["; // line 537 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["event"], "periods", [])); $context['loop'] = [ 'parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true, ]; if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["_key"] => $context["period"]) { // line 538 echo "{\"start\": "; echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["period"], "starttime", [])), "js", null, true); echo ", \"end\": "; echo twig_escape_filter($this->env, sprintf("%F", $this->getAttribute($context["period"], "endtime", [])), "js", null, true); echo "}"; echo (($this->getAttribute($context["loop"], "last", [])) ? ("") : (", ")); ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['length'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['period'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 540 echo "] }"; // line 541 echo (($this->getAttribute($context["loop"], "last", [])) ? ("") : (",")); echo " "; } ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['length'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['name'], $context['event'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } catch (\Exception $e) { ob_end_clean(); throw $e; } catch (\Throwable $e) { ob_end_clean(); throw $e; } return ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); } // line 547 public function getdisplay_timeline($__id__ = null, $__events__ = null, $__colors__ = null, ...$__varargs__) { $context = $this->env->mergeGlobals([ "id" => $__id__, "events" => $__events__, "colors" => $__colors__, "varargs" => $__varargs__, ]); $blocks = []; ob_start(); try { $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->env->getExtension("Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "display_timeline")); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "display_timeline")); // line 548 echo "
"; // line 550 $context['_parent'] = $context; $context['_seq'] = twig_ensure_traversable(($context["colors"] ?? $this->getContext($context, "colors"))); foreach ($context['_seq'] as $context["category"] => $context["color"]) { // line 551 echo " env, $context["color"], "html", null, true); echo "\">"; echo twig_escape_filter($this->env, $context["category"], "html", null, true); echo " "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['category'], $context['color'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 553 echo "
env, ($context["id"] ?? $this->getContext($context, "id")), "html", null, true); echo "\" class=\"timeline\">
"; $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof); $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof); } catch (\Exception $e) { ob_end_clean(); throw $e; } catch (\Throwable $e) { ob_end_clean(); throw $e; } return ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); } public function getTemplateName() { return "@WebProfiler/Collector/time.html.twig"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 1070 => 554, 1067 => 553, 1056 => 551, 1052 => 550, 1048 => 548, 1028 => 547, 992 => 541, 989 => 540, 970 => 538, 953 => 537, 949 => 535, 945 => 534, 941 => 533, 937 => 532, 933 => 531, 929 => 530, 925 => 529, 922 => 528, 920 => 527, 903 => 526, 885 => 524, 860 => 518, 855 => 516, 851 => 515, 848 => 514, 846 => 513, 825 => 511, 814 => 508, 780 => 476, 762 => 473, 745 => 472, 742 => 471, 740 => 470, 735 => 468, 730 => 466, 454 => 193, 410 => 151, 407 => 150, 404 => 149, 396 => 147, 390 => 144, 384 => 143, 381 => 142, 378 => 141, 374 => 140, 369 => 138, 365 => 136, 363 => 135, 358 => 133, 355 => 132, 349 => 129, 346 => 128, 344 => 127, 338 => 124, 334 => 123, 329 => 121, 326 => 120, 324 => 119, 315 => 112, 306 => 111, 292 => 107, 286 => 103, 284 => 102, 279 => 99, 277 => 98, 271 => 94, 265 => 91, 261 => 90, 257 => 88, 254 => 87, 251 => 86, 248 => 85, 242 => 84, 239 => 83, 234 => 82, 231 => 81, 229 => 80, 223 => 77, 219 => 76, 214 => 73, 212 => 72, 209 => 71, 202 => 67, 199 => 66, 197 => 65, 190 => 61, 182 => 56, 176 => 52, 173 => 51, 164 => 50, 150 => 45, 147 => 44, 138 => 43, 126 => 40, 123 => 39, 117 => 36, 110 => 32, 106 => 30, 104 => 29, 101 => 28, 95 => 25, 90 => 24, 88 => 23, 85 => 22, 82 => 21, 79 => 20, 77 => 19, 74 => 18, 71 => 17, 62 => 16, 52 => 1, 49 => 6, 47 => 5, 45 => 3, 22 => 1,); } /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ public function getSource() { @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); return $this->getSourceContext()->getCode(); } public function getSourceContext() { return new Source("{% extends '@WebProfiler/Profiler/layout.html.twig' %} {% import _self as helper %} {% if colors is not defined %} {% set colors = { 'default': '#999', 'section': '#444', 'event_listener': '#00B8F5', 'template': '#66CC00', 'doctrine': '#FF6633', } %} {% endif %} {% block toolbar %} {% set has_time_events = collector.events|length > 0 %} {% set total_time = has_time_events ? '%.0f'|format(collector.duration) : 'n/a' %} {% set initialization_time = collector.events|length ? '%.0f'|format(collector.inittime) : 'n/a' %} {% set status_color = has_time_events and collector.duration > 1000 ? 'yellow' : '' %} {% set icon %} {{ include('@WebProfiler/Icon/time.svg') }} {{ total_time }} ms {% endset %} {% set text %}
Total time {{ total_time }} ms
Initialization time {{ initialization_time }} ms
{% endset %} {{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url, status: status_color }) }} {% endblock %} {% block menu %} {{ include('@WebProfiler/Icon/time.svg') }} Performance {% endblock %} {% block panel %} {% set has_time_events = collector.events|length > 0 %}

Performance metrics

{{ '%.0f'|format(collector.duration) }} ms Total execution time
{{ '%.0f'|format(collector.inittime) }} ms Symfony initialization
{% if profile.collectors.memory %}
{{ '%.2f'|format(profile.collectors.memory.memory / 1024 / 1024) }} MB Peak memory usage
{% endif %} {% if profile.children|length > 0 %}
{{ profile.children|length }} Sub-Request{{ profile.children|length > 1 ? 's' }}
{% if has_time_events %} {% set subrequests_time = 0 %} {% for child in profile.children %} {% set subrequests_time = subrequests_time + child.getcollector('time').events.__section__.duration %} {% endfor %} {% else %} {% set subrequests_time = 'n/a' %} {% endif %}
{{ subrequests_time }} ms Sub-Request{{ profile.children|length > 1 ? 's' }} time
{% endif %}

Execution timeline

{% if not collector.isStopwatchInstalled() %}

The Stopwatch component is not installed. If you want to see timing events, run: composer require symfony/stopwatch.

{% elseif collector.events is empty %}

No timing events have been recorded. Are you sure that debugging is enabled in the kernel?

{% else %} {{ block('panelContent') }} {% endif %} {% endblock %} {% block panelContent %}
ms (timeline only displays events with a duration longer than this threshold)
{% if profile.parent %}

Sub-Request {{ profiler_dump(profile.getcollector('request').requestattributes.get('_controller')) }} {{ collector.events.__section__.duration }} ms Return to parent request

{% elseif profile.children|length > 0 %}

Main Request {{ collector.events.__section__.duration }} ms

{% endif %} {{ helper.display_timeline('timeline_' ~ token, collector.events, colors) }} {% if profile.children|length %}

Note: sections with a striped background correspond to sub-requests.

Sub-requests ({{ profile.children|length }})

{% for child in profile.children %} {% set events = child.getcollector('time').events %}

{{ child.getcollector('request').identifier }} {{ events.__section__.duration }} ms

{{ helper.display_timeline('timeline_' ~ child.token, events, colors) }} {% endfor %} {% endif %} {% endblock %} {% macro dump_request_data(token, profile, events, origin) %} {% autoescape 'js' %} {% from _self import dump_events %} { \"id\": \"{{ token }}\", \"left\": {{ \"%F\"|format(events.__section__.origin - origin) }}, \"events\": [ {{ dump_events(events) }} ] } {% endautoescape %} {% endmacro %} {% macro dump_events(events) %} {% autoescape 'js' %} {% for name, event in events %} {% if '__section__' != name %} { \"name\": \"{{ name }}\", \"category\": \"{{ event.category }}\", \"origin\": {{ \"%F\"|format(event.origin) }}, \"starttime\": {{ \"%F\"|format(event.starttime) }}, \"endtime\": {{ \"%F\"|format(event.endtime) }}, \"duration\": {{ \"%F\"|format(event.duration) }}, \"memory\": {{ \"%.1F\"|format(event.memory / 1024 / 1024) }}, \"periods\": [ {%- for period in event.periods -%} {\"start\": {{ \"%F\"|format(period.starttime) }}, \"end\": {{ \"%F\"|format(period.endtime) }}}{{ loop.last ? '' : ', ' }} {%- endfor -%} ] }{{ loop.last ? '' : ',' }} {% endif %} {% endfor %} {% endautoescape %} {% endmacro %} {% macro display_timeline(id, events, colors) %}
{% for category, color in colors %} {{ category }} {% endfor %}
{% endmacro %} ", "@WebProfiler/Collector/time.html.twig", "/Volumes/Dev/Sources/Clients/taome/Nouveau_site/www/vendor/symfony/symfony/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig"); } }