ab4b1ff785
OSprofile allows user/devs trace OpenStack requests. Implements: blueprint enable-osprofiler Co-Authored-By: Bertrand Lallau <bertrand.lallau@gmail.com> Change-Id: I82ea85d726011ef6cbf99380f395452d6d7f8053
56 lines
1.7 KiB
ReStructuredText
56 lines
1.7 KiB
ReStructuredText
.. _osprofiler-guide:
|
||
|
||
===================
|
||
OSprofiler in Kolla
|
||
===================
|
||
|
||
Overview
|
||
========
|
||
OSProfiler provides a tiny but powerful library that is used by most
|
||
(soon to be all) OpenStack projects and their corresponding python clients
|
||
as well as the Openstack client.
|
||
It provides functionality to generate 1 trace per request, that goes
|
||
through all involved services. This trace can then be extracted and used
|
||
to build a tree of calls which can be quite handy for a variety of reasons
|
||
(for example in isolating cross-project performance issues).
|
||
|
||
Configuration on Kolla deployment
|
||
---------------------------------
|
||
|
||
Enable OSprofiler in ``/etc/kolla/globals.yml``
|
||
|
||
.. code-block:: console
|
||
|
||
enable_osprofiler: "yes"
|
||
enable_elasticsearch: "yes"
|
||
|
||
Verify operation
|
||
----------------
|
||
|
||
Retrieve ``osprofiler_secret`` key present at ``/etc/kolla/passwords.yml``.
|
||
|
||
Profiler UUIDs can be created executing OpenStack clients (Nova, Glance, Cinder, Heat, Keystone)
|
||
with ``--profile`` option or using the official Openstack client with ``--os-profile``.
|
||
In example to get the OSprofiler trace UUID for ``openstack server create``.
|
||
|
||
.. code-block:: console
|
||
|
||
$ openstack --os-profile <OSPROFILER_SECRET> \
|
||
server create \
|
||
--image cirros \
|
||
--flavor m1.tiny \
|
||
--key-name mykey \
|
||
--nic net-id=${NETWORK_ID} \
|
||
demo
|
||
|
||
|
||
The previous command will output the command to retrieve OSprofiler trace.
|
||
|
||
.. code-block:: console
|
||
|
||
$ osprofiler trace show --html <TRACE_ID> --connection-string elasticsearch://<api_interface_address>:9200
|
||
|
||
For more information about how OSprofiler works, see
|
||
`OSProfiler – Cross-project profiling library
|
||
<https://docs.openstack.org/developer/osprofiler/>`__.
|