summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRamamani Yeleswarapu <ramamani.yeleswarapu@intel.com>2016-08-18 16:55:56 -0700
committerRamamani Yeleswarapu <ramamani.yeleswarapu@intel.com>2017-07-07 15:58:28 -0700
commit3773f17403bb02b372673643780b9619151d22ea (patch)
tree6966eae7c1427f09e7c79a60eecfaa9623c811b7 /tools
parent8e4815648825914e9a94a55129f371bc0bd601e4 (diff)
downloadironic-3773f17403bb02b372673643780b9619151d22ea.tar.gz
Enable OSProfiler support in Ironic
This patch does the following: * Adds osprofiler wsgi middleware This middleware is used for 2 things: - It checks that person who wants to trace is trusted and knows secret HMAC key. - It starts tracing in case of proper trace headers and adds first wsgi trace point, with info about HTTP request. * Adds initialization of osprofiler at start of service - Initialize and set an oslo.messaging based notifier instance to osprofiler, which will be used to send notifications to Ceilometer. * Traces HTTP/RPC/DB API calls and SQL requests NOTE to test this patch: 1) Make the following changes in localrc to configure DevStack to enable OSProfiler: enable_plugin panko https://git.openstack.org/openstack/panko enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler # Enable the following services CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral ENABLED_SERVICES+=,ceilometer-anotification,ceilometer-collector ENABLED_SERVICES+=,ceilometer-alarm-evaluator,ceilometer-alarm-notifier ENABLED_SERVICES+=,ceilometer-api NOTE: the order of enabling plugins matters. 2) Run stack.sh. Once DevStack environment is setup, enable profiler options in ironic.conf and restart ironic services: [profiler] enabled = true hmac_keys = SECRET_KEY trace_sqlalchemy = true 3) Use openstackclient and run baremetal command with --os-profile SECRET_KEY [--profile can be used, but it is deprecated.] For example, the following will cause the <trace-id> to be printed after node list: $ openstack --os-profile SECRET_KEY baremetal node list ..... ..... Trace ID: <trace-id> Display trace with command: osprofiler trace show --html <trace-id> 4) The trace results can be saved using this command: $ osprofiler trace show --html <trace-id> --out trace.html OSprofiler spec: https://review.openstack.org/#/c/103825/ Co-Authored-By: Tovin Seven <vinhnt@vn.fujitsu.com> Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com> Partial-Bug: #1560704 Change-Id: Icd3d7c62cf7442de8a77fc67f119ae9b03725f02
Diffstat (limited to 'tools')
-rw-r--r--tools/config/ironic-config-generator.conf1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/config/ironic-config-generator.conf b/tools/config/ironic-config-generator.conf
index 088c234bf..f738cc406 100644
--- a/tools/config/ironic-config-generator.conf
+++ b/tools/config/ironic-config-generator.conf
@@ -16,4 +16,5 @@ namespace = oslo.log
namespace = oslo.service.service
namespace = oslo.service.periodic_task
namespace = oslo.service.sslutils
+namespace = osprofiler
namespace = keystonemiddleware.auth_token