3773f17403
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
21 lines
586 B
Plaintext
21 lines
586 B
Plaintext
[DEFAULT]
|
|
output_file = etc/ironic/ironic.conf.sample
|
|
wrap_width = 62
|
|
namespace = ironic
|
|
namespace = ironic_lib.disk_utils
|
|
namespace = ironic_lib.disk_partitioner
|
|
namespace = ironic_lib.metrics
|
|
namespace = ironic_lib.metrics_statsd
|
|
namespace = ironic_lib.utils
|
|
namespace = oslo.db
|
|
namespace = oslo.messaging
|
|
namespace = oslo.middleware.cors
|
|
namespace = oslo.concurrency
|
|
namespace = oslo.policy
|
|
namespace = oslo.log
|
|
namespace = oslo.service.service
|
|
namespace = oslo.service.periodic_task
|
|
namespace = oslo.service.sslutils
|
|
namespace = osprofiler
|
|
namespace = keystonemiddleware.auth_token
|