From 3773f17403bb02b372673643780b9619151d22ea Mon Sep 17 00:00:00 2001 From: Ramamani Yeleswarapu Date: Thu, 18 Aug 2016 16:55:56 -0700 Subject: 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 to be printed after node list: $ openstack --os-profile SECRET_KEY baremetal node list ..... ..... Trace ID: Display trace with command: osprofiler trace show --html 4) The trace results can be saved using this command: $ osprofiler trace show --html --out trace.html OSprofiler spec: https://review.openstack.org/#/c/103825/ Co-Authored-By: Tovin Seven Co-Authored-By: Hieu LE Partial-Bug: #1560704 Change-Id: Icd3d7c62cf7442de8a77fc67f119ae9b03725f02 --- tools/config/ironic-config-generator.conf | 1 + 1 file changed, 1 insertion(+) (limited to 'tools/config') 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 -- cgit v1.2.1