
Middleware is the backbone of the whole profiler facility. It adds an encoded payload to each request that should be profiled with osprofiler library. This library is embedded into other OpenStack services where it tries to decode the message with a known set of keys (so Horizon middleware should use one of these keys) and if successful, sends a message to MongoDB (via osprofiler driver). Every message has its own id, the base id (root message id) and parent id. Using these 3 ids a tree of trace messages is assembled. Actually, Horizon Django application uses 2 middleware classes: ProfilerClientMIddleware and ProfilerMiddleware. ProfilerClientMiddleware is used to enable Horizon self-profiling (profiling from the UI): if a specific key is found in cookies, then 2 standard osprofiler headers are added to a request. These headers are processed by ProfilerMiddleware which should always be the last middleware class in a Django config, since it's defines `process_view` method which returns HttpResponse object effectively terminating the middleware process_view chain. Assuming that all API calls happen during rendering a view, Horizon sets a tracepoint there which becomes a root node of the trace calls tree. Implements-blueprint: openstack-profiler-at-developer-dashboard Change-Id: Ib896676e304f2984c011bd1b610c86d1f24d46b9
69 lines
2.7 KiB
Plaintext
69 lines
2.7 KiB
Plaintext
# The order of packages is significant, because pip processes them in the order
|
|
# of appearance. Changing the order has an impact on the overall integration
|
|
# process, which may cause wedges in the gate later.
|
|
# Order matters to the pip dependency resolver, so sorting this file
|
|
# changes how packages are installed. New dependencies should be
|
|
# added in alphabetical order, however, some dependencies may need to
|
|
# be installed in a specific order.
|
|
#
|
|
# PBR should always appear first
|
|
pbr>=1.6 # Apache-2.0
|
|
# Horizon Core Requirements
|
|
Babel>=2.3.4 # BSD
|
|
Django<1.9,>=1.8 # BSD
|
|
Pint>=0.5 # BSD
|
|
django-babel>=0.5.1 # BSD
|
|
django-compressor>=2.0 # MIT
|
|
django-openstack-auth>=2.4.0 # Apache-2.0
|
|
django-pyscss>=2.0.2 # BSD License (2 clause)
|
|
iso8601>=0.1.11 # MIT
|
|
netaddr!=0.7.16,>=0.7.13 # BSD
|
|
oslo.concurrency>=3.8.0 # Apache-2.0
|
|
oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
|
|
oslo.i18n>=2.1.0 # Apache-2.0
|
|
oslo.policy>=1.15.0 # Apache-2.0
|
|
oslo.serialization>=1.10.0 # Apache-2.0
|
|
oslo.utils>=3.18.0 # Apache-2.0
|
|
osprofiler>=1.4.0 # Apache-2.0
|
|
pymongo>=3.0.2,!=3.1 # Apache-2.0
|
|
pyScss!=1.3.5,>=1.3.4 # MIT License
|
|
python-ceilometerclient>=2.5.0 # Apache-2.0
|
|
python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
|
|
python-glanceclient>=2.5.0 # Apache-2.0
|
|
python-heatclient>=1.5.0 # Apache-2.0
|
|
python-keystoneclient>=3.6.0 # Apache-2.0
|
|
python-neutronclient>=5.1.0 # Apache-2.0
|
|
python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
|
|
python-swiftclient>=2.2.0 # Apache-2.0
|
|
pytz>=2013.6 # MIT
|
|
PyYAML>=3.10.0 # MIT
|
|
six>=1.9.0 # MIT
|
|
XStatic>=1.0.0 # MIT License
|
|
XStatic-Angular>=1.3.7 # MIT License
|
|
XStatic-Angular-Bootstrap>=0.11.0.2 # MIT License
|
|
XStatic-Angular-FileUpload>=12.0.4.0 # MIT License
|
|
XStatic-Angular-Gettext>=2.1.0.2 # MIT License
|
|
XStatic-Angular-lrdragndrop>=1.0.2.2 # MIT License
|
|
XStatic-Angular-Schema-Form>=0.8.13.0 # MIT
|
|
XStatic-Bootstrap-Datepicker>=1.3.1.0 # Apache 2.0 License
|
|
XStatic-Bootstrap-SCSS>=3.1.1.1 # Apache 2.0 License
|
|
XStatic-bootswatch>=3.3.5.3 # MIT License
|
|
XStatic-D3>=3.1.6.2 # BSD License (3 clause)
|
|
XStatic-Hogan>=2.0.0.2 # Apache 2.0 License
|
|
XStatic-Font-Awesome>=4.3.0 # SIL OFL 1.1 License, MIT License
|
|
XStatic-Jasmine>=2.1.2.0 # MIT License
|
|
XStatic-jQuery>=1.8.2.1 # MIT License
|
|
XStatic-JQuery-Migrate>=1.2.1.1 # MIT License
|
|
XStatic-JQuery.quicksearch>=2.0.3.1 # MIT License
|
|
XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License
|
|
XStatic-jquery-ui>=1.10.4.1 # MIT License
|
|
XStatic-JSEncrypt>=2.0.0.2 # MIT License
|
|
XStatic-mdi>=1.4.57.0 # SIL OPEN FONT LICENSE Version 1.1
|
|
XStatic-objectpath>=1.2.1.0 # MIT
|
|
XStatic-Rickshaw>=1.5.0 # BSD License (prior)
|
|
XStatic-roboto-fontface>=0.4.3.2 # Apache 2.0 License
|
|
XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License
|
|
XStatic-Spin>=1.2.5.2 # MIT License
|
|
XStatic-term.js>=0.0.4.1 # MIT License
|
|
XStatic-tv4>=1.2.7.0 # MIT
|