taikun.cloud

Taikun OCP Guide

Table of Contents

Profiling the Shared File Systems service

Profiler

The detailed description of the profiler and its config options is
available at Profiler
docs
.

Using Profiler

To start profiling Manila code, the following steps have to be
taken:

  1. Add the following lines to the
    /etc/manila/manila.conf file (the profiling is disabled by
    default).

    [profiler]
    connection_string = redis://localhost:6379
    hmac_keys = SECRET_KEY
    trace_sqlalchemy = True
    enabled = True

    Examples of possible values for connection_string
    option:

    • messaging:// – use oslo_messaging driver for sending
      spans.
    • redis://127.0.0.1:6379 – use redis driver for sending
      spans.
    • mongodb://127.0.0.1:27017 – use mongodb driver for
      sending spans.
    • elasticsearch://127.0.0.1:9200 – use elasticsearch
      driver for sending spans.
    • jaeger://127.0.0.1:6831 – use jaeger tracing as driver
      for sending spans.
  2. Restart all manila services and keystone service.

  3. To verify profiler with manilaclient, run any command with
    --profile <key>. The key (e.g. SECRET_KEY) should be
    one of the hmac_keys mentioned in manila.conf. To generate
    correct profiling information across all services at least one key needs
    to be consistent between OpenStack projects.

    $ manila --profile SECRET_KEY create NFS 1 --name Share1 --share-network testNetwork --share-type dhss_true
     +---------------------------------------+--------------------------------------+
     | Property                              | Value                                |
     +---------------------------------------+--------------------------------------+
     | id                                    | 9703da88-25ba-41e6-827d-a6932f708dd4 |
     | size                                  | 1                                    |
     | availability_zone                     | None                                 |
     | created_at                            | 2021-02-23T11:21:38.000000           |
     | status                                | creating                             |
     | name                                  | Share1                               |
     | description                           | None                                 |
     | project_id                            | c67b2fd35b054060971d28cf654ee92a     |
     | snapshot_id                           | None                                 |
     | share_network_id                      | 03754c58-1456-497f-b7d6-8f36a4d644f0 |
     | share_proto                           | NFS                                  |
     | metadata                              | {}                                   |
     | share_type                            | 5b1a4133-371c-4583-a801-f2b6e1ae102d |
     | is_public                             | False                                |
     | snapshot_support                      | False                                |
     | task_state                            | None                                 |
     | share_type_name                       | dhss_true                            |
     | access_rules_status                   | active                               |
     | replication_type                      | None                                 |
     | has_replicas                          | False                                |
     | user_id                               | 7ecd60ddae1448b79449dc6434460eaf     |
     | create_share_from_snapshot_support    | False                                |
     | revert_to_snapshot_support            | False                                |
     | share_group_id                        | None                                 |
     | source_share_group_snapshot_member_id | None                                 |
     | mount_snapshot_support                | False                                |
     | progress                              | None                                 |
     | share_server_id                       | None                                 |
     | host                                  |                                      |
     +---------------------------------------+--------------------------------------+
     Profiling trace ID: 1705dfd8-e45a-46cd-b0e2-2e40fd9e5f22
     To display trace use next command:
     osprofiler trace show --html 1705dfd8-e45a-46cd-b0e2-2e40fd9e5f22
  4. To verify profiler with openstackclient, run any command with
    --os-profile <key>.

    $ openstack --os-profile SECRET_KEY share create NFS 1 --name Share2 --share-network testNetwork --share-type dhss_true
     +---------------------------------------+--------------------------------------+
     | Field                                 | Value                                |
     +---------------------------------------+--------------------------------------+
     | access_rules_status                   | active                               |
     | availability_zone                     | None                                 |
     | create_share_from_snapshot_support    | False                                |
     | created_at                            | 2021-02-23T11:23:41.000000           |
     | description                           | None                                 |
     | has_replicas                          | False                                |
     | host                                  |                                      |
     | id                                    | 78a19734-394f-4967-9671-c226df00a023 |
     | is_public                             | False                                |
     | metadata                              | {}                                   |
     | mount_snapshot_support                | False                                |
     | name                                  | Share2                               |
     | progress                              | None                                 |
     | project_id                            | c67b2fd35b054060971d28cf654ee92a     |
     | replication_type                      | None                                 |
     | revert_to_snapshot_support            | False                                |
     | share_group_id                        | None                                 |
     | share_network_id                      | 03754c58-1456-497f-b7d6-8f36a4d644f0 |
     | share_proto                           | NFS                                  |
     | share_server_id                       | None                                 |
     | share_type                            | 5b1a4133-371c-4583-a801-f2b6e1ae102d |
     | share_type_name                       | dhss_true                            |
     | size                                  | 1                                    |
     | snapshot_id                           | None                                 |
     | snapshot_support                      | False                                |
     | source_share_group_snapshot_member_id | None                                 |
     | status                                | creating                             |
     | task_state                            | None                                 |
     | user_id                               | 7ecd60ddae1448b79449dc6434460eaf     |
     | volume_type                           | dhss_true                            |
     +---------------------------------------+--------------------------------------+
     Trace ID: 0ca7ce01-36a9-481c-8b3d-263a3b5caa35
     Short trace ID for OpenTracing-based drivers: 8b3d263a3b5caa35
     Display trace data with command:
     osprofiler trace show --html 0ca7ce01-36a9-481c-8b3d-263a3b5caa35
  5. To display the trace date in HTML format, run below command.

    $ osprofiler trace show --html 0ca7ce01-36a9-481c-8b3d-263a3b5caa35 --connection-string redis://localhost:6379 --out /opt/stack/output.html