OSprofiler - 跨项目性能分析¶
概述¶
OSProfiler 提供了一个微小但强大的库,被大多数(很快将是全部)OpenStack 项目及其相应的 python 客户端以及 Openstack 客户端使用。它提供了为每个请求生成一个 trace 的功能,该 trace 将穿过所有涉及的服务。然后可以提取此 trace 并用于构建调用树,这在各种情况下都非常有用(例如,在隔离跨项目性能问题时)。
Kolla 部署上的配置¶
在 /etc/kolla/globals.yml 文件中启用 OSprofiler
enable_osprofiler: "yes"
enable_elasticsearch: "yes"
验证操作¶
从 /etc/kolla/passwords.yml 获取存在的 osprofiler_secret 密钥。
可以通过使用 --profile 选项执行 OpenStack 客户端(Nova、Glance、Cinder、Heat、Keystone)或使用官方 Openstack 客户端并使用 --os-profile 创建 Profiler UUID。例如,要获取 openstack server create 命令的 OSprofiler trace UUID。
$ openstack --os-profile <OSPROFILER_SECRET> server create \
--image cirros --flavor m1.tiny --key-name mykey \
--nic net-id=${NETWORK_ID} demo
上述命令将输出检索 OSprofiler trace 的命令。
$ osprofiler trace show --html <TRACE_ID> --connection-string \
elasticsearch://<api_interface_address>:9200
有关 OSprofiler 工作原理的更多信息,请参阅 OSProfiler – 跨项目性能分析库。