..
    Warning: Do not edit this file. It is automatically generated from the
    software project's code and your changes will be overwritten.

    The tool to generate this file lives in openstack-doc-tools repository.

    Please make any changes needed in the code, then run the
    autogenerate-config-doc tool from the openstack-doc-tools repository, or
    ask for help on the documentation mailing list, IRC channel or meeting.

.. _cinder-profiler:

.. list-table:: Description of profiler configuration options
   :header-rows: 1
   :class: config-ref-table

   * - Configuration option = Default value
     - Description
   * - **[profiler]**
     -
   * - ``connection_string`` = ``messaging://``
     - (String) Connection string for a notifier backend. Default value is messaging:// which sets the notifier to oslo_messaging.

       Examples of possible values:

       * messaging://: use oslo_messaging driver for sending notifications.

       * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.

       * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.
   * - ``enabled`` = ``False``
     - (Boolean) Enables the profiling for all services on this node. Default value is False (fully disable the profiling feature).

       Possible values:

       * True: Enables the feature

       * False: Disables the feature. The profiling cannot be started via this project operations. If the profiling is triggered by another project, this project part will be empty.
   * - ``es_doc_type`` = ``notification``
     - (String) Document type for notification indexing in elasticsearch.
   * - ``es_scroll_size`` = ``10000``
     - (Integer) Elasticsearch splits large requests in batches. This parameter defines maximum size of each batch (for example: es_scroll_size=10000).
   * - ``es_scroll_time`` = ``2m``
     - (String) This parameter is a time value parameter (for example: es_scroll_time=2m), indicating for how long the nodes that participate in the search will maintain relevant resources in order to continue and support it.
   * - ``hmac_keys`` = ``SECRET_KEY``
     - (String) Secret key(s) to use for encrypting context data for performance profiling. This string value should have the following format: <key1>[,<key2>,...<keyn>], where each key is some random string. A user who triggers the profiling via the REST API has to set one of these keys in the headers of the REST API call to include profiling results of this node for this particular project.

       Both "enabled" flag and "hmac_keys" config options should be set to enable profiling. Also, to generate correct profiling information across all services at least one key needs to be consistent between OpenStack projects. This ensures it can be used from client side to generate the trace, containing information from all possible resources.
   * - ``sentinel_service_name`` = ``mymaster``
     - (String) Redissentinel uses a service name to identify a master redis service. This parameter defines the name (for example: sentinal_service_name=mymaster).
   * - ``socket_timeout`` = ``0.1``
     - (Floating point) Redissentinel provides a timeout option on the connections. This parameter defines that timeout (for example: socket_timeout=0.1).
   * - ``trace_sqlalchemy`` = ``False``
     - (Boolean) Enables SQL requests profiling in services. Default value is False (SQL requests won't be traced).

       Possible values:

       * True: Enables SQL requests profiling. Each SQL query will be part of the trace and can the be analyzed by how much time was spent for that.

       * False: Disables SQL requests profiling. The spent time is only shown on a higher level of operations. Single SQL queries cannot be analyzed this way.
