# 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

this page last updated: 2026-03-20 00:20:57

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug