kolla-ansible/doc/source/reference/osprofiler-guide.rst
chenxing cbd67ebdb1 Rearrange existing documentation to fit the new standard layout
For more detail, see the doc migration spec.
http://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html

Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>
Change-Id: I3a7c0ed204ee1e9060b5325f20622afe9a5e3040
2017-09-06 17:43:56 +02:00

58 lines
1.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. _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/osprofiler/latest/>`__.