var/cache/dev/twig/e3/e3f3a9fbe7b9a23b36da1c554ae369f1.php line 51

  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* @WebProfiler/Collector/cache.html.twig */
  14. class __TwigTemplate_4c8efb6144df21d90ef3c31ae0f3db12 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'toolbar' => [$this'block_toolbar'],
  24.             'menu' => [$this'block_menu'],
  25.             'panel' => [$this'block_panel'],
  26.         ];
  27.         $macros["_self"] = $this->macros["_self"] = $this;
  28.     }
  29.     protected function doGetParent(array $context)
  30.     {
  31.         // line 1
  32.         return "@WebProfiler/Profiler/layout.html.twig";
  33.     }
  34.     protected function doDisplay(array $context, array $blocks = [])
  35.     {
  36.         $macros $this->macros;
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""@WebProfiler/Collector/cache.html.twig"));
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""@WebProfiler/Collector/cache.html.twig"));
  41.         $this->parent $this->loadTemplate("@WebProfiler/Profiler/layout.html.twig""@WebProfiler/Collector/cache.html.twig"1);
  42.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  43.         
  44.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  45.         
  46.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  47.     }
  48.     // line 3
  49.     public function block_toolbar($context, array $blocks = [])
  50.     {
  51.         $macros $this->macros;
  52.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  53.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""toolbar"));
  54.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  55.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""toolbar"));
  56.         // line 4
  57.         echo "    ";
  58.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'4$this->source); })()), "totals", [], "any"falsefalsefalse4), "calls", [], "any"falsefalsefalse4) > 0)) {
  59.             // line 5
  60.             echo "        ";
  61.             ob_start();
  62.             // line 6
  63.             echo "            ";
  64.             echo twig_source($this->env"@WebProfiler/Icon/cache.svg");
  65.             echo "
  66.             <span class=\"sf-toolbar-value\">";
  67.             // line 7
  68.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'7$this->source); })()), "totals", [], "any"falsefalsefalse7), "calls", [], "any"falsefalsefalse7), "html"nulltrue);
  69.             echo "</span>
  70.             <span class=\"sf-toolbar-info-piece-additional-detail\">
  71.                 <span class=\"sf-toolbar-label\">in</span>
  72.                 <span class=\"sf-toolbar-value\">";
  73.             // line 10
  74.             echo twig_escape_filter($this->envtwig_sprintf("%0.2f", (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'10$this->source); })()), "totals", [], "any"falsefalsefalse10), "time", [], "any"falsefalsefalse10) * 1000)), "html"nulltrue);
  75.             echo "</span>
  76.                 <span class=\"sf-toolbar-label\">ms</span>
  77.             </span>
  78.         ";
  79.             $context["icon"] = ('' === $tmp ob_get_clean()) ? '' : new Markup($tmp$this->env->getCharset());
  80.             // line 14
  81.             echo "        ";
  82.             ob_start();
  83.             // line 15
  84.             echo "        <div class=\"sf-toolbar-info-piece\">
  85.             <b>Cache Calls</b>
  86.             <span>";
  87.             // line 17
  88.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'17$this->source); })()), "totals", [], "any"falsefalsefalse17), "calls", [], "any"falsefalsefalse17), "html"nulltrue);
  89.             echo "</span>
  90.         </div>
  91.         <div class=\"sf-toolbar-info-piece\">
  92.             <b>Total time</b>
  93.             <span>";
  94.             // line 21
  95.             echo twig_escape_filter($this->envtwig_sprintf("%0.2f", (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'21$this->source); })()), "totals", [], "any"falsefalsefalse21), "time", [], "any"falsefalsefalse21) * 1000)), "html"nulltrue);
  96.             echo " ms</span>
  97.         </div>
  98.         <div class=\"sf-toolbar-info-piece\">
  99.             <b>Cache hits</b>
  100.             <span>";
  101.             // line 25
  102.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'25$this->source); })()), "totals", [], "any"falsefalsefalse25), "hits", [], "any"falsefalsefalse25), "html"nulltrue);
  103.             echo " / ";
  104.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'25$this->source); })()), "totals", [], "any"falsefalsefalse25), "reads", [], "any"falsefalsefalse25), "html"nulltrue);
  105.             if ( !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'25$this->source); })()), "totals", [], "any"falsefalsefalse25), "hit_read_ratio", [], "any"falsefalsefalse25))) {
  106.                 echo " (";
  107.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'25$this->source); })()), "totals", [], "any"falsefalsefalse25), "hit_read_ratio", [], "any"falsefalsefalse25), "html"nulltrue);
  108.                 echo "%)";
  109.             }
  110.             echo "</span>
  111.         </div>
  112.         <div class=\"sf-toolbar-info-piece\">
  113.             <b>Cache writes</b>
  114.             <span>";
  115.             // line 29
  116.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'29$this->source); })()), "totals", [], "any"falsefalsefalse29), "writes", [], "any"falsefalsefalse29), "html"nulltrue);
  117.             echo "</span>
  118.         </div>
  119.         ";
  120.             $context["text"] = ('' === $tmp ob_get_clean()) ? '' : new Markup($tmp$this->env->getCharset());
  121.             // line 32
  122.             echo "
  123.         ";
  124.             // line 33
  125.             echo twig_include($this->env$context"@WebProfiler/Profiler/toolbar_item.html.twig", ["link" => (isset($context["profiler_url"]) || array_key_exists("profiler_url"$context) ? $context["profiler_url"] : (function () { throw new RuntimeError('Variable "profiler_url" does not exist.'33$this->source); })())]);
  126.             echo "
  127.     ";
  128.         }
  129.         
  130.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  131.         
  132.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  133.     }
  134.     // line 37
  135.     public function block_menu($context, array $blocks = [])
  136.     {
  137.         $macros $this->macros;
  138.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  139.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""menu"));
  140.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  141.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""menu"));
  142.         // line 38
  143.         echo "    <span class=\"label ";
  144.         echo (((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'38$this->source); })()), "totals", [], "any"falsefalsefalse38), "calls", [], "any"falsefalsefalse38) == 0)) ? ("disabled") : (""));
  145.         echo "\">
  146.     <span class=\"icon\">
  147.         ";
  148.         // line 40
  149.         echo twig_source($this->env"@WebProfiler/Icon/cache.svg");
  150.         echo "
  151.     </span>
  152.     <strong>Cache</strong>
  153. </span>
  154. ";
  155.         
  156.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  157.         
  158.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  159.     }
  160.     // line 46
  161.     public function block_panel($context, array $blocks = [])
  162.     {
  163.         $macros $this->macros;
  164.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  165.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""panel"));
  166.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  167.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""panel"));
  168.         // line 47
  169.         echo "    <h2>Cache</h2>
  170.     ";
  171.         // line 49
  172.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'49$this->source); })()), "totals", [], "any"falsefalsefalse49), "calls", [], "any"falsefalsefalse49) == 0)) {
  173.             // line 50
  174.             echo "        <div class=\"empty empty-panel\">
  175.             <p>No cache calls were made.</p>
  176.         </div>
  177.     ";
  178.         } else {
  179.             // line 54
  180.             echo "        ";
  181.             echo twig_call_macro($macros["_self"], "macro_render_metrics", [twig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'54$this->source); })()), "totals", [], "any"falsefalsefalse54), true], 54$context$this->getSourceContext());
  182.             echo "
  183.         <h2>Pools</h2>
  184.         <div class=\"sf-tabs\">
  185.             ";
  186.             // line 59
  187.             echo "            ";
  188.             $context["cache_pools_with_calls"] = twig_array_merge(twig_array_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'59$this->source); })()), "calls", [], "any"falsefalsefalse59), function ($__calls__) use ($context$macros) { $context["calls"] = $__calls__; return (twig_length_filter($this->env, (isset($context["calls"]) || array_key_exists("calls"$context) ? $context["calls"] : (function () { throw new RuntimeError('Variable "calls" does not exist.'59$this->source); })())) > 0); }), []);
  189.             // line 60
  190.             echo "            ";
  191.             $context['_parent'] = $context;
  192.             $context['_seq'] = twig_ensure_traversable((isset($context["cache_pools_with_calls"]) || array_key_exists("cache_pools_with_calls"$context) ? $context["cache_pools_with_calls"] : (function () { throw new RuntimeError('Variable "cache_pools_with_calls" does not exist.'60$this->source); })()));
  193.             $context['loop'] = [
  194.               'parent' => $context['_parent'],
  195.               'index0' => 0,
  196.               'index'  => 1,
  197.               'first'  => true,
  198.             ];
  199.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  200.                 $length count($context['_seq']);
  201.                 $context['loop']['revindex0'] = $length 1;
  202.                 $context['loop']['revindex'] = $length;
  203.                 $context['loop']['length'] = $length;
  204.                 $context['loop']['last'] = === $length;
  205.             }
  206.             foreach ($context['_seq'] as $context["name"] => $context["calls"]) {
  207.                 // line 61
  208.                 echo "                <div class=\"tab ";
  209.                 echo (((twig_length_filter($this->env$context["calls"]) == 0)) ? ("disabled") : (""));
  210.                 echo "\">
  211.                     <h3 class=\"tab-title\">";
  212.                 // line 62
  213.                 echo twig_escape_filter($this->env$context["name"], "html"nulltrue);
  214.                 echo " <span class=\"badge\">";
  215.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'62$this->source); })()), "statistics", [], "any"falsefalsefalse62), $context["name"], [], "array"falsefalsefalse62), "calls", [], "any"falsefalsefalse62), "html"nulltrue);
  216.                 echo "</span></h3>
  217.                     <div class=\"tab-content\">
  218.                         <h4>Adapter</h4>
  219.                         <div class=\"card\">
  220.                             ";
  221.                 // line 67
  222.                 if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, ($context["collector"] ?? null), "adapters", [], "any"falsetruefalse67), $context["name"], [], "array"truetruefalse67)) {
  223.                     // line 68
  224.                     echo "                                <code>";
  225.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'68$this->source); })()), "adapters", [], "any"falsefalsefalse68), $context["name"], [], "array"falsefalsefalse68), "html"nulltrue);
  226.                     echo "</code>
  227.                             ";
  228.                 } else {
  229.                     // line 70
  230.                     echo "                                <span class=\"text-muted\">Unable to get the adapter class.</span>
  231.                             ";
  232.                 }
  233.                 // line 72
  234.                 echo "                        </div>
  235.                         ";
  236.                 // line 73
  237.                 if ((twig_length_filter($this->env$context["calls"]) == 0)) {
  238.                     // line 74
  239.                     echo "                            <div class=\"empty\">
  240.                                 <p>No calls were made for ";
  241.                     // line 75
  242.                     echo twig_escape_filter($this->env$context["name"], "html"nulltrue);
  243.                     echo " pool.</p>
  244.                             </div>
  245.                         ";
  246.                 } else {
  247.                     // line 78
  248.                     echo "                            <h4>Metrics</h4>
  249.                             ";
  250.                     // line 79
  251.                     echo twig_call_macro($macros["_self"], "macro_render_metrics", [twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'79$this->source); })()), "statistics", [], "any"falsefalsefalse79), $context["name"], [], "array"falsefalsefalse79)], 79$context$this->getSourceContext());
  252.                     echo "
  253.                             <h4>Calls</h4>
  254.                             <table>
  255.                                 <thead>
  256.                                     <tr>
  257.                                         <th>#</th>
  258.                                         <th>Time</th>
  259.                                         <th>Call</th>
  260.                                         <th>Hit</th>
  261.                                     </tr>
  262.                                 </thead>
  263.                                 <tbody>
  264.                                 ";
  265.                     // line 92
  266.                     $context['_parent'] = $context;
  267.                     $context['_seq'] = twig_ensure_traversable($context["calls"]);
  268.                     $context['loop'] = [
  269.                       'parent' => $context['_parent'],
  270.                       'index0' => 0,
  271.                       'index'  => 1,
  272.                       'first'  => true,
  273.                     ];
  274.                     if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  275.                         $length count($context['_seq']);
  276.                         $context['loop']['revindex0'] = $length 1;
  277.                         $context['loop']['revindex'] = $length;
  278.                         $context['loop']['length'] = $length;
  279.                         $context['loop']['last'] = === $length;
  280.                     }
  281.                     foreach ($context['_seq'] as $context["_key"] => $context["call"]) {
  282.                         // line 93
  283.                         echo "                                    <tr>
  284.                                         <td class=\"font-normal text-small text-muted nowrap\">";
  285.                         // line 94
  286.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse94), "html"nulltrue);
  287.                         echo "</td>
  288.                                         <td class=\"nowrap\">";
  289.                         // line 95
  290.                         echo twig_escape_filter($this->envtwig_sprintf("%0.2f", ((twig_get_attribute($this->env$this->source$context["call"], "end", [], "any"falsefalsefalse95) - twig_get_attribute($this->env$this->source$context["call"], "start", [], "any"falsefalsefalse95)) * 1000)), "html"nulltrue);
  291.                         echo " ms</td>
  292.                                         <td class=\"nowrap\">";
  293.                         // line 96
  294.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["call"], "name", [], "any"falsefalsefalse96), "html"nulltrue);
  295.                         echo "()</td>
  296.                                         <td>";
  297.                         // line 97
  298.                         echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["call"], "value", [], "any"falsefalsefalse97), "result", [], "any"falsefalsefalse97), 2);
  299.                         echo "</td>
  300.                                     </tr>
  301.                                 ";
  302.                         ++$context['loop']['index0'];
  303.                         ++$context['loop']['index'];
  304.                         $context['loop']['first'] = false;
  305.                         if (isset($context['loop']['length'])) {
  306.                             --$context['loop']['revindex0'];
  307.                             --$context['loop']['revindex'];
  308.                             $context['loop']['last'] = === $context['loop']['revindex0'];
  309.                         }
  310.                     }
  311.                     $_parent $context['_parent'];
  312.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['call'], $context['_parent'], $context['loop']);
  313.                     $context array_intersect_key($context$_parent) + $_parent;
  314.                     // line 100
  315.                     echo "                                </tbody>
  316.                             </table>
  317.                         ";
  318.                 }
  319.                 // line 103
  320.                 echo "                    </div>
  321.                 </div>
  322.                 ";
  323.                 // line 106
  324.                 if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse106)) {
  325.                     // line 107
  326.                     echo "                    <div class=\"tab\">
  327.                         <h3 class=\"tab-title\">Pools without calls <span class=\"badge\">";
  328.                     // line 108
  329.                     echo twig_escape_filter($this->envtwig_length_filter($this->envtwig_array_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'108$this->source); })()), "calls", [], "any"falsefalsefalse108), function ($__calls__) use ($context$macros) { $context["calls"] = $__calls__; return (== twig_length_filter($this->env$context["calls"])); })), "html"nulltrue);
  330.                     echo "</span></h3>
  331.                         <div class=\"tab-content\">
  332.                             <table>
  333.                                 <thead>
  334.                                     <tr>
  335.                                         <th>Cache pools that received no calls</th>
  336.                                     </tr>
  337.                                 </thead>
  338.                                 <tbody>
  339.                                     ";
  340.                     // line 118
  341.                     $context['_parent'] = $context;
  342.                     $context['_seq'] = twig_ensure_traversable(twig_sort_filter($this->envtwig_get_array_keys_filter(twig_array_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["collector"]) || array_key_exists("collector"$context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.'118$this->source); })()), "calls", [], "any"falsefalsefalse118), function ($__calls__) use ($context$macros) { $context["calls"] = $__calls__; return (== twig_length_filter($this->env$context["calls"])); }))));
  343.                     foreach ($context['_seq'] as $context["_key"] => $context["cache_pool"]) {
  344.                         // line 119
  345.                         echo "                                        <tr><td>";
  346.                         echo twig_escape_filter($this->env$context["cache_pool"], "html"nulltrue);
  347.                         echo "</td></tr>
  348.                                     ";
  349.                     }
  350.                     $_parent $context['_parent'];
  351.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cache_pool'], $context['_parent'], $context['loop']);
  352.                     $context array_intersect_key($context$_parent) + $_parent;
  353.                     // line 121
  354.                     echo "                                </tbody>
  355.                             </table>
  356.                         </div>
  357.                     </div>
  358.                 ";
  359.                 }
  360.                 // line 126
  361.                 echo "            ";
  362.                 ++$context['loop']['index0'];
  363.                 ++$context['loop']['index'];
  364.                 $context['loop']['first'] = false;
  365.                 if (isset($context['loop']['length'])) {
  366.                     --$context['loop']['revindex0'];
  367.                     --$context['loop']['revindex'];
  368.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  369.                 }
  370.             }
  371.             $_parent $context['_parent'];
  372.             unset($context['_seq'], $context['_iterated'], $context['name'], $context['calls'], $context['_parent'], $context['loop']);
  373.             $context array_intersect_key($context$_parent) + $_parent;
  374.             // line 127
  375.             echo "        </div>
  376.     ";
  377.         }
  378.         
  379.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  380.         
  381.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  382.     }
  383.     // line 131
  384.     public function macro_render_metrics($__pool__ null$__is_total__ false, ...$__varargs__)
  385.     {
  386.         $macros $this->macros;
  387.         $context $this->env->mergeGlobals([
  388.             "pool" => $__pool__,
  389.             "is_total" => $__is_total__,
  390.             "varargs" => $__varargs__,
  391.         ]);
  392.         $blocks = [];
  393.         ob_start();
  394.         try {
  395.             $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  396.             $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro""render_metrics"));
  397.             $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  398.             $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro""render_metrics"));
  399.             // line 132
  400.             echo "    <div class=\"metrics\">
  401.         <div class=\"metric\">
  402.             <span class=\"value\">";
  403.             // line 134
  404.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'134$this->source); })()), "calls", [], "any"falsefalsefalse134), "html"nulltrue);
  405.             echo "</span>
  406.             <span class=\"label\">";
  407.             // line 135
  408.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'135$this->source); })())) ? ("Total calls") : ("Calls"));
  409.             echo "</span>
  410.         </div>
  411.         <div class=\"metric\">
  412.             <span class=\"value\">";
  413.             // line 138
  414.             echo twig_escape_filter($this->envtwig_sprintf("%0.2f", (twig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'138$this->source); })()), "time", [], "any"falsefalsefalse138) * 1000)), "html"nulltrue);
  415.             echo " <span class=\"unit\">ms</span></span>
  416.             <span class=\"label\">";
  417.             // line 139
  418.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'139$this->source); })())) ? ("Total time") : ("Time"));
  419.             echo "</span>
  420.         </div>
  421.         <div class=\"metric-divider\"></div>
  422.         <div class=\"metric-group\">
  423.             <div class=\"metric\">
  424.                 <span class=\"value\">";
  425.             // line 146
  426.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'146$this->source); })()), "reads", [], "any"falsefalsefalse146), "html"nulltrue);
  427.             echo "</span>
  428.                 <span class=\"label\">";
  429.             // line 147
  430.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'147$this->source); })())) ? ("Total reads") : ("Reads"));
  431.             echo "</span>
  432.             </div>
  433.             <div class=\"metric\">
  434.                 <span class=\"value\">";
  435.             // line 150
  436.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'150$this->source); })()), "writes", [], "any"falsefalsefalse150), "html"nulltrue);
  437.             echo "</span>
  438.                 <span class=\"label\">";
  439.             // line 151
  440.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'151$this->source); })())) ? ("Total writes") : ("Writes"));
  441.             echo "</span>
  442.             </div>
  443.             <div class=\"metric\">
  444.                 <span class=\"value\">";
  445.             // line 154
  446.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'154$this->source); })()), "deletes", [], "any"falsefalsefalse154), "html"nulltrue);
  447.             echo "</span>
  448.                 <span class=\"label\">";
  449.             // line 155
  450.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'155$this->source); })())) ? ("Total deletes") : ("Deletes"));
  451.             echo "</span>
  452.             </div>
  453.         </div>
  454.         <div class=\"metric-divider\"></div>
  455.         <div class=\"metric-group\">
  456.             <div class=\"metric\">
  457.                 <span class=\"value\">";
  458.             // line 163
  459.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'163$this->source); })()), "hits", [], "any"falsefalsefalse163), "html"nulltrue);
  460.             echo "</span>
  461.                 <span class=\"label\">";
  462.             // line 164
  463.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'164$this->source); })())) ? ("Total hits") : ("Hits"));
  464.             echo "</span>
  465.             </div>
  466.             <div class=\"metric\">
  467.                 <span class=\"value\">";
  468.             // line 167
  469.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["pool"]) || array_key_exists("pool"$context) ? $context["pool"] : (function () { throw new RuntimeError('Variable "pool" does not exist.'167$this->source); })()), "misses", [], "any"falsefalsefalse167), "html"nulltrue);
  470.             echo "</span>
  471.                 <span class=\"label\">";
  472.             // line 168
  473.             echo (((isset($context["is_total"]) || array_key_exists("is_total"$context) ? $context["is_total"] : (function () { throw new RuntimeError('Variable "is_total" does not exist.'168$this->source); })())) ? ("Total misses") : ("Misses"));
  474.             echo "</span>
  475.             </div>
  476.             <div class=\"metric\">
  477.                     <span class=\"value\">
  478.                         ";
  479.             // line 172
  480.             (((twig_get_attribute($this->env$this->source, ($context["pool"] ?? null), "hit_read_ratio", [], "any"truetruefalse172) &&  !(null === twig_get_attribute($this->env$this->source, ($context["pool"] ?? null), "hit_read_ratio", [], "any"falsefalsefalse172)))) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, ($context["pool"] ?? null), "hit_read_ratio", [], "any"falsefalsefalse172), "html"nulltrue))) : (print (0)));
  481.             echo " <span class=\"unit\">%</span>
  482.                     </span>
  483.                 <span class=\"label\">Hits/reads</span>
  484.             </div>
  485.         </div>
  486.     </div>
  487. ";
  488.             
  489.             $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  490.             
  491.             $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  492.             return ('' === $tmp ob_get_contents()) ? '' : new Markup($tmp$this->env->getCharset());
  493.         } finally {
  494.             ob_end_clean();
  495.         }
  496.     }
  497.     public function getTemplateName()
  498.     {
  499.         return "@WebProfiler/Collector/cache.html.twig";
  500.     }
  501.     public function isTraitable()
  502.     {
  503.         return false;
  504.     }
  505.     public function getDebugInfo()
  506.     {
  507.         return array (  521 => 172,  514 => 168,  510 => 167,  504 => 164,  500 => 163,  489 => 155,  485 => 154,  479 => 151,  475 => 150,  469 => 147,  465 => 146,  455 => 139,  451 => 138,  445 => 135,  441 => 134,  437 => 132,  417 => 131,  405 => 127,  391 => 126,  384 => 121,  375 => 119,  371 => 118,  358 => 108,  355 => 107,  353 => 106,  348 => 103,  343 => 100,  326 => 97,  322 => 96,  318 => 95,  314 => 94,  311 => 93,  294 => 92,  278 => 79,  275 => 78,  269 => 75,  266 => 74,  264 => 73,  261 => 72,  257 => 70,  251 => 68,  249 => 67,  239 => 62,  234 => 61,  216 => 60,  213 => 59,  205 => 54,  199 => 50,  197 => 49,  193 => 47,  183 => 46,  168 => 40,  162 => 38,  152 => 37,  139 => 33,  136 => 32,  130 => 29,  116 => 25,  109 => 21,  102 => 17,  98 => 15,  95 => 14,  88 => 10,  82 => 7,  77 => 6,  74 => 5,  71 => 4,  61 => 3,  38 => 1,);
  508.     }
  509.     public function getSourceContext()
  510.     {
  511.         return new Source("{% extends '@WebProfiler/Profiler/layout.html.twig' %}
  512. {% block toolbar %}
  513.     {% if collector.totals.calls > 0 %}
  514.         {% set icon %}
  515.             {{ source('@WebProfiler/Icon/cache.svg') }}
  516.             <span class=\"sf-toolbar-value\">{{ collector.totals.calls }}</span>
  517.             <span class=\"sf-toolbar-info-piece-additional-detail\">
  518.                 <span class=\"sf-toolbar-label\">in</span>
  519.                 <span class=\"sf-toolbar-value\">{{ '%0.2f'|format(collector.totals.time * 1000) }}</span>
  520.                 <span class=\"sf-toolbar-label\">ms</span>
  521.             </span>
  522.         {% endset %}
  523.         {% set text %}
  524.         <div class=\"sf-toolbar-info-piece\">
  525.             <b>Cache Calls</b>
  526.             <span>{{ collector.totals.calls }}</span>
  527.         </div>
  528.         <div class=\"sf-toolbar-info-piece\">
  529.             <b>Total time</b>
  530.             <span>{{ '%0.2f'|format(collector.totals.time * 1000) }} ms</span>
  531.         </div>
  532.         <div class=\"sf-toolbar-info-piece\">
  533.             <b>Cache hits</b>
  534.             <span>{{ collector.totals.hits }} / {{ collector.totals.reads }}{% if collector.totals.hit_read_ratio is not null %} ({{ collector.totals.hit_read_ratio }}%){% endif %}</span>
  535.         </div>
  536.         <div class=\"sf-toolbar-info-piece\">
  537.             <b>Cache writes</b>
  538.             <span>{{ collector.totals.writes }}</span>
  539.         </div>
  540.         {% endset %}
  541.         {{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url }) }}
  542.     {% endif %}
  543. {% endblock %}
  544. {% block menu %}
  545.     <span class=\"label {{ collector.totals.calls == 0 ? 'disabled' }}\">
  546.     <span class=\"icon\">
  547.         {{ source('@WebProfiler/Icon/cache.svg') }}
  548.     </span>
  549.     <strong>Cache</strong>
  550. </span>
  551. {% endblock %}
  552. {% block panel %}
  553.     <h2>Cache</h2>
  554.     {% if collector.totals.calls == 0 %}
  555.         <div class=\"empty empty-panel\">
  556.             <p>No cache calls were made.</p>
  557.         </div>
  558.     {% else %}
  559.         {{ _self.render_metrics(collector.totals, true) }}
  560.         <h2>Pools</h2>
  561.         <div class=\"sf-tabs\">
  562.             {# the empty merge is needed to turn the iterator into an array #}
  563.             {% set cache_pools_with_calls = collector.calls|filter(calls => calls|length > 0)|merge([]) %}
  564.             {% for name, calls in cache_pools_with_calls %}
  565.                 <div class=\"tab {{ calls|length == 0 ? 'disabled' }}\">
  566.                     <h3 class=\"tab-title\">{{ name }} <span class=\"badge\">{{ collector.statistics[name].calls }}</span></h3>
  567.                     <div class=\"tab-content\">
  568.                         <h4>Adapter</h4>
  569.                         <div class=\"card\">
  570.                             {% if collector.adapters[name] is defined %}
  571.                                 <code>{{ collector.adapters[name] }}</code>
  572.                             {% else %}
  573.                                 <span class=\"text-muted\">Unable to get the adapter class.</span>
  574.                             {% endif %}
  575.                         </div>
  576.                         {% if calls|length == 0 %}
  577.                             <div class=\"empty\">
  578.                                 <p>No calls were made for {{ name }} pool.</p>
  579.                             </div>
  580.                         {% else %}
  581.                             <h4>Metrics</h4>
  582.                             {{ _self.render_metrics(collector.statistics[name]) }}
  583.                             <h4>Calls</h4>
  584.                             <table>
  585.                                 <thead>
  586.                                     <tr>
  587.                                         <th>#</th>
  588.                                         <th>Time</th>
  589.                                         <th>Call</th>
  590.                                         <th>Hit</th>
  591.                                     </tr>
  592.                                 </thead>
  593.                                 <tbody>
  594.                                 {% for call in calls %}
  595.                                     <tr>
  596.                                         <td class=\"font-normal text-small text-muted nowrap\">{{ loop.index }}</td>
  597.                                         <td class=\"nowrap\">{{ '%0.2f'|format((call.end - call.start) * 1000) }} ms</td>
  598.                                         <td class=\"nowrap\">{{ call.name }}()</td>
  599.                                         <td>{{ profiler_dump(call.value.result, maxDepth=2) }}</td>
  600.                                     </tr>
  601.                                 {% endfor %}
  602.                                 </tbody>
  603.                             </table>
  604.                         {% endif %}
  605.                     </div>
  606.                 </div>
  607.                 {% if loop.last %}
  608.                     <div class=\"tab\">
  609.                         <h3 class=\"tab-title\">Pools without calls <span class=\"badge\">{{ collector.calls|filter(calls => 0 == calls|length)|length }}</span></h3>
  610.                         <div class=\"tab-content\">
  611.                             <table>
  612.                                 <thead>
  613.                                     <tr>
  614.                                         <th>Cache pools that received no calls</th>
  615.                                     </tr>
  616.                                 </thead>
  617.                                 <tbody>
  618.                                     {% for cache_pool in collector.calls|filter(calls => 0 == calls|length)|keys|sort %}
  619.                                         <tr><td>{{ cache_pool }}</td></tr>
  620.                                     {% endfor %}
  621.                                 </tbody>
  622.                             </table>
  623.                         </div>
  624.                     </div>
  625.                 {% endif %}
  626.             {% endfor %}
  627.         </div>
  628.     {% endif %}
  629. {% endblock %}
  630. {% macro render_metrics(pool, is_total = false) %}
  631.     <div class=\"metrics\">
  632.         <div class=\"metric\">
  633.             <span class=\"value\">{{ pool.calls }}</span>
  634.             <span class=\"label\">{{ is_total ? 'Total calls' : 'Calls' }}</span>
  635.         </div>
  636.         <div class=\"metric\">
  637.             <span class=\"value\">{{ '%0.2f'|format(pool.time * 1000) }} <span class=\"unit\">ms</span></span>
  638.             <span class=\"label\">{{ is_total ? 'Total time' : 'Time' }}</span>
  639.         </div>
  640.         <div class=\"metric-divider\"></div>
  641.         <div class=\"metric-group\">
  642.             <div class=\"metric\">
  643.                 <span class=\"value\">{{ pool.reads }}</span>
  644.                 <span class=\"label\">{{ is_total ? 'Total reads' : 'Reads' }}</span>
  645.             </div>
  646.             <div class=\"metric\">
  647.                 <span class=\"value\">{{ pool.writes }}</span>
  648.                 <span class=\"label\">{{ is_total ? 'Total writes' : 'Writes' }}</span>
  649.             </div>
  650.             <div class=\"metric\">
  651.                 <span class=\"value\">{{ pool.deletes }}</span>
  652.                 <span class=\"label\">{{ is_total ? 'Total deletes' : 'Deletes' }}</span>
  653.             </div>
  654.         </div>
  655.         <div class=\"metric-divider\"></div>
  656.         <div class=\"metric-group\">
  657.             <div class=\"metric\">
  658.                 <span class=\"value\">{{ pool.hits }}</span>
  659.                 <span class=\"label\">{{ is_total ? 'Total hits' : 'Hits' }}</span>
  660.             </div>
  661.             <div class=\"metric\">
  662.                 <span class=\"value\">{{ pool.misses }}</span>
  663.                 <span class=\"label\">{{ is_total ? 'Total misses' : 'Misses' }}</span>
  664.             </div>
  665.             <div class=\"metric\">
  666.                     <span class=\"value\">
  667.                         {{ pool.hit_read_ratio ?? 0 }} <span class=\"unit\">%</span>
  668.                     </span>
  669.                 <span class=\"label\">Hits/reads</span>
  670.             </div>
  671.         </div>
  672.     </div>
  673. {% endmacro %}
  674. ""@WebProfiler/Collector/cache.html.twig""/home/bestofi/bestof/vendor/symfony/web-profiler-bundle/Resources/views/Collector/cache.html.twig");
  675.     }
  676. }