Zhi Yan Liu 47324171d4 Integrate OSprofiler with Zaqar
*) Add osprofiler wsgi middleware
This middleware is used for 2 things:
1) It checks that person who want to trace is trusted and knows
secret HMAC key.
2) It start tracing in case of proper trace headers
and add first wsgi trace point, with info about HTTP request.

*) Add initialization of osprofiler at start of server
Initialize and set an oslo.messaging based notifier instance
to osprofiler which be used to send notifications to Ceilometer.

*) Enable profile on existing useful storage backends
Change controller creation logic of data and control panel for
mongodb, redis and sqlalchemy storage backends, as well as
an aggregative pooling driver.

*) Add options to allow operator control profiles separately

NOTE to test this:
1) You have to enable necessary profiler option(s) base on your needed.
2) You need to enable follow services in localrc for devstack:
  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
3) You should use python-zaqarclient with this change:
  I880c003511e9e4ef99806ba5b19d0ef6996be80b

Run any command with --os-profile <SECRET_KEY>
  $ openstack --os-profile <SECRET_KEY> queue list
  # it will print <Trace ID>
Get pretty HTML with traces:
  $ osprofiler trace show --html <Trace ID>
note that osprofiler should be run from admin user name & tenant.

DocImpact

Partially-implements BP: osprofiler
Change-Id: I32565de6c447cd5e95a0ef54a9fbd4e571c2d820
Co-Authored-By: wangxiyuan <wangxiyuan@huawei.com>
2016-11-18 08:33:31 +00:00
2016-11-15 19:55:38 +13:00
2016-10-08 08:40:53 +00:00
2016-11-18 08:33:31 +00:00
2016-11-18 08:33:31 +00:00
2016-02-18 20:41:07 -05:00
2014-06-04 22:31:55 +02:00
2015-11-16 00:27:43 +05:30
2014-09-08 13:55:13 +02:00
2015-09-19 16:37:56 +05:30
2014-03-21 10:16:28 +01:00
2015-09-19 05:42:08 +00:00

Zaqar

Zaqar is a multi-tenant cloud messaging and notification service for web and mobile developers. It combines the ideas pioneered by Amazon's SQS product with additional semantics to support event broadcasting.

The service features a fully RESTful API, which developers can use to send messages between various components of their SaaS and mobile applications, by using a variety of communication patterns. Underlying this API is an efficient messaging engine designed with scalability and security in mind.

Other OpenStack components can integrate with Zaqar to surface events to end users and to communicate with guest agents that run in the "over-cloud" layer. Cloud operators can leverage Zaqar to provide equivalents of SQS and SNS to their customers.

General information is available in wiki:

https://wiki.openstack.org/wiki/Zaqar

The API v1.1 (stable) specification and documentation are available at:

https://wiki.openstack.org/wiki/Zaqar/specs/api/v1.1

Zaqar Contributor Documentation, the source of which is in doc/source/, is available at:

http://docs.openstack.org/developer/zaqar/

Contributors are encouraged to join IRC (#openstack-zaqar channel on irc.freenode.net):

https://wiki.openstack.org/wiki/IRC

Information on how to run unit and functional tests is available at:

http://docs.openstack.org/developer/zaqar/running_tests.html

Information on how to run benchmarking tool is available at:

http://docs.openstack.org/developer/zaqar/running_benchmark.html

Using Zaqar

If you are new to Zaqar and just want to try it, you can set up Zaqar in the development environment.

Using Zaqar in production environment:

Coming soon!

Using Zaqar in development environment:

The instruction is available at:

http://docs.openstack.org/developer/zaqar/devref/development.environment.html

This will allow you to run local Zaqar server with MongoDB as database.

This way is the easiest, quickest and most suitable for beginners.

Description
OpenStack Messaging (Zaqar)
Readme 46 MiB
Languages
Python 96.2%
PHP 1.5%
Shell 1.2%
HTML 0.8%
Lua 0.2%