HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pma.bikenow.co/templates/server/status/advisor/index.twig
{% extends 'server/status/base.twig' %}
{% set active = 'advisor' %}

{% block content %}

  <h2>{% trans 'Advisor system' %}</h2>

  {% if data is empty %}
    {{ 'Not enough privilege to view the advisor.'|trans|error }}
  {% else %}
    <button type="button" class="btn btn-secondary mb-4" data-toggle="modal" data-target="#advisorInstructionsModal">
      {{ get_icon('b_help', 'Instructions'|trans) }}
    </button>

    <div class="modal fade" id="advisorInstructionsModal" tabindex="-1" role="dialog" aria-labelledby="advisorInstructionsModalLabel" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="advisorInstructionsModalLabel">{% trans 'Advisor system' %}</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="{% trans 'Close' %}">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <p>
              {%- trans -%}
                The Advisor system can provide recommendations on server variables by analyzing the server status variables.
              {%- endtrans -%}
            </p>
            <p>
              {%- trans -%}
                Do note however that this system provides recommendations based on simple calculations and by rule of thumb which may not necessarily apply to your system.
              {%- endtrans -%}
            </p>
            <p>
              {%- trans -%}
                Prior to changing any of the configuration, be sure to know what you are changing (by reading the documentation) and how to undo the change. Wrong tuning can have a very negative effect on performance.
              {%- endtrans -%}
            </p>
            <p>
              {%- trans -%}
                The best way to tune your system would be to change only one setting at a time, observe or benchmark your database, and undo the change if there was no clearly measurable improvement.
              {%- endtrans -%}
            </p>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" data-dismiss="modal">{% trans 'Close' %}</button>
          </div>
        </div>
      </div>
    </div>

    {% if data.errors|length > 0 %}
      <div class="alert alert-danger mt-2 mb-2" role="alert">
        <h4 class="alert-heading">{% trans 'Errors occurred while executing rule expressions:' %}</h4>
        <ul>
          {% for error in data.errors %}
            <li>{{ error }}</li>
          {% endfor %}
        </ul>
      </div>
    {% endif %}

    {% if data.fired|length > 0 %}
      <h4>{% trans 'Possible performance issues' %}</h4>

      <div class="accordion mb-4" id="rulesAccordion">
        {% for rule in data.fired %}
          <div class="card">
            <div class="card-header" id="heading{{ loop.index }}">
              <button class="btn btn-link{{ not loop.first ? ' collapsed' }}" type="button" data-toggle="collapse" data-target="#collapse{{ loop.index }}" aria-expanded="{{ loop.first ? 'true' : 'false' }}" aria-controls="collapse{{ loop.index }}">
                {{ rule.issue|striptags }}
              </button>
            </div>
            <div id="collapse{{ loop.index }}" class="collapse{{ loop.first ? ' show' }}" aria-labelledby="heading{{ loop.index }}" data-parent="#rulesAccordion">
              <div class="card-body">
                <dl>
                  <dt>{% trans 'Issue:' %}</dt>
                  <dd>{{ rule.issue|raw }}</dd>

                  <dt>{% trans 'Recommendation:' %}</dt>
                  <dd>{{ rule.recommendation|raw }}</dd>

                  <dt>{% trans 'Justification:' %}</dt>
                  <dd>{{ rule.justification }}</dd>

                  <dt>{% trans 'Used variable / formula:' %}</dt>
                  <dd>{{ rule.formula }}</dd>

                  <dt>{% trans 'Test:' %}</dt>
                  <dd>{{ rule.test }}</dd>
                </dl>
              </div>
            </div>
          </div>
        {% endfor %}
      </div>
    {% endif %}
  {% endif %}

{% endblock %}