summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update .gitreview for stable/mitakamitaka-eolstable/mitakaDoug Hellmann2016-03-091-0/+1
| | | | Change-Id: I0e246a5701e376544ac5a804dba31c71a4ab8f9c
* Remove flake8 ignore list in tox.ini1.2.0ChangBo Guo(gcb)2016-02-192-15/+14
| | | | | | | H703 doesn't exist in hacking>=0.10.2, so remove it. Fix E126 violations and remove E126. Change-Id: I727282e4e7f276318f3cdd50d885941ab8b4ff49
* Merge "remove python 2.6 trove classifier"1.1.0Jenkins2016-02-121-1/+0
|\
| * remove python 2.6 trove classifierDoug Hellmann2015-12-231-1/+0
| | | | | | | | | | | | | | OpenStack projects are no longer being tested under Python 2.6, so remove the trove classifier implying that this project supports 2.6. Change-Id: I9eba1d7547c3459a707110785b79bc79914a88a8
* | Merge "run py34 tests before py27 to work around testr bug"Jenkins2016-02-121-1/+1
|\ \
| * | run py34 tests before py27 to work around testr bugDoug Hellmann2016-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | testr uses anydbm to create a database, but python 3 dropped support for the database format that is the default in python 2. The default for python 3 is available under python 2, so if we run the python 3 tests before the python 2 tests everything works fine. Change the order in the default environment list so that if someone checks out the repo and runs 'tox' all of the tests work. Change-Id: I44b23add5acc297ca00d2d3c7747f0cfff85cc2f Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* | | Merge "stop making a copy of options discovered by config generator"Jenkins2016-02-121-4/+1
|\ \ \ | |/ /
| * | stop making a copy of options discovered by config generatorDoug Hellmann2016-02-101-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order for the config generator's new hook for updating default values to work, we have to return the same Opt objects from list_opts() that our set_defaults() function is going to modify. There's no real need to be making copies of the objects anyway, so just stop doing it. Change-Id: I9c6149c354adc1827b773aa07bf5874981ee8b8f Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* | | Merge "Make class detection more accurate"Jenkins2016-02-121-1/+1
|\ \ \
| * | | Make class detection more accurateDina Belova2016-02-091-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | It's more correct to use inspect.isclass(X) instead of type(X) == type as if some parent of the class we're trying to trace has metaclass used, the type will be that metaclass. Change-Id: I5102eb46a7a377eca31375a0d64951ba1fdd035d
* | | Merge "Expose X-Trace-* constants"Jenkins2016-02-111-4/+10
|\ \ \ | |/ / |/| |
| * | Expose X-Trace-* constantsJoshua Harlow2016-01-271-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For users that want to know what the currently used trace headers are in a progamatic way it is nice to expose these headers as constants that others can easily import. This makes it possible to do things like: >>> from osprofiler import web >>> web.X_TRACE_INFO 'X-Trace-Info' >>> web.X_TRACE_HMAC 'X-Trace-HMAC' Change-Id: Ibd9de5dde77b5a0f8b37b23fefc4ed6167f6a00a
* | | Disable staticmethods tracing1.0.1Dina Belova2016-02-062-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | This tracing case has variety of corner cases, that need to be treated separately. Let's skip staticmethods tracing until this research willl be done. Change-Id: I3effc9b9bf1ab3922d837cefe7ea472d9eedd6af
* | | Merge "Add fix for static and class methods in @trace_cls"1.0.0Jenkins2016-02-022-2/+48
|\ \ \
| * | | Add fix for static and class methods in @trace_clsDina Belova2016-02-012-2/+48
| | | | | | | | | | | | | | | | Change-Id: I39156c20319609354639021fe778dc92c9acf8df
* | | | Add raw Ceilometer events support to DevStack pluginDina Belova2016-01-271-0/+2
| | | | | | | | | | | | | | | | Change-Id: I3a48ea3f1157c7f97dfa1773f66e0638abfc43a5
* | | | Use raw data storage for events to collect more infoDina Belova2016-01-272-32/+25
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSprofiler uses free-form notifications in fact, so any kind of data might be included to the profiling trace. To be able to do that in Ceilometer case, that use explicit event definitions, we need to use its raw data events storage, that will include all notification message. To use this feature the following section needs to be set in ceilometer.conf: [event] store_raw = info where info is the notification level used. Warning: if raw data is used, ALL events that come into ceilometer with info notification level will be stored with raw data included, there is no way to set this parameter only for profiler.* events. Change-Id: I3ebf8ee34ac01e68d530a676ae840f7a62d897bd
* | | Merge "Move osprofiler tests into osprofiler"Jenkins2016-01-2621-31/+34
|\ \ \
| * | | Move osprofiler tests into osprofilerJoshua Harlow2016-01-2521-31/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To follow the pattern that nearly all oslo tests follow move the tests out of the osprofiler root directory and into the osprofiler module itself. This makes it easier for new people to get involved and follows the more common directory structure that people should already be used to. Change-Id: I384cdb5466d852dd4493e4fce2f0078545724416
* | | | Use oslo.utils reflection and avoid refinding decorated nameJoshua Harlow2016-01-252-15/+13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of computing/finding the decorated function name using a less robust function, use the one provided by oslo.utils which is more robust. Also at the same time, avoid refinding the function name every single time the decorated function is called, as its needless to do this once it has been completed once. Change-Id: Id39a73ee80163dd930a5900d9631e3b8665e7a26
* | | Consolidate osprofiler optionsDavanum Srinivas2016-01-204-1/+205
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Right now every project has its own copy of the profiler options, This situation will make it very hard to keep up when we want to change things in osprofiler. So we should consolidate the code just like all other oslo libraries in osprofiler itself. However one twist here is that we should avoid needing oslo.config as a hard requirement for project that do not want to use it, so we should add this as an extra in setup.cfg and adjust the testenv as well. Change-Id: I4343136be501551bb2c87d4b66d839c4e63a67fc
* | Remove argparse from requirementsDavanum Srinivas2016-01-201-1/+0
| | | | | | | | | | | | | | | | | | | | argparse was external in python 2.6 but not anymore, remove it from requirements. This should help with pip 8.0 that gets confused in this situation. Installation of the external argparse is really not needed. Change-Id: Id8984ef560f0bb3006e360a8cb32fc015a9ccfcf
* | Merge "Replace deprecated library function os.popen() with subprocess"Jenkins2016-01-201-2/+5
|\ \
| * | Replace deprecated library function os.popen() with subprocessHarshada Mangesh Kakad2016-01-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | os.popen() is deprecated since version 2.6. Resolved with use of subprocess module. Change-Id: I5e8a3cb1d2a50656025ca0fec5f95b581f0af7b4 Closes-Bug: #1529836
* | | Merge "Add py34 to tox env list"Jenkins2016-01-201-1/+1
|\ \ \
| * | | Add py34 to tox env listBoris Pavlovic2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | OSprofiler supports py34, and it should be add to env list Change-Id: Id0aebc0d871a4ecf6dde4144199190a381a0642f
* | | | Merge "Make profiler timestamp json.dumps friendly"Jenkins2016-01-203-9/+6
|\ \ \ \ | |/ / / |/| | |
| * | | Make profiler timestamp json.dumps friendlyDina Belova2016-01-143-9/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Previously pure datetime.datetime.utcnow() was used here, it makes osprofiler work ok in real OpenStack environment, where oslo.messaging is used, but in case of out-OpenStack env it was impossible to simply dump timestamp. Change-Id: I98d9f090e6501c26c9c35b70f65378c58ec2fca8
* | | Merge "Remove Py33 support"Jenkins2016-01-181-1/+1
|\ \ \
| * | | Remove Py33 supportreedip2016-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python 3.3 support is being dropped from Mitaka by INFRA team. This patch is updating the same. Change-Id: I03835c3a0e70656020f58285ac6d0e66d09c3448 Closes-Bug: #1526170
* | | | Merge "Remove support for py26"Jenkins2016-01-181-1/+1
|\ \ \ \ | |/ / /
| * | | Remove support for py26reedip2016-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Python 2.6 is not supported from Mitaka, as per Infra. The following patch removes the support for the same. Change-Id: Ieae4ca2695f5e0f73efece34c631204b51004b00
* | | | Add DevStack pluginBoris Pavlovic2016-01-146-3/+133
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to automate enabling OSProfiler in OpenStack Just add to DevStack localrc file: enable_plugin ceilometer https://github.com/openstack/ceilometer enable_plugin osprofiler https://github.com/openstack/osprofiler Change-Id: I3607407dd506723c1aad6696ec98eaed8a8ddd9e
* | | Merge "Make it possible to specify file path as a source for trace"0.4.0Jenkins2016-01-122-27/+34
|\ \ \
| * | | Make it possible to specify file path as a source for traceBoris Pavlovic2016-01-112-27/+34
| |/ / | | | | | | | | | | | | | | | | | | | | | osprofiler trace show <file_path> --html will generate html report from file that contains trace info in json Change-Id: I20eaf679ce30d34bd8f974438e3cb4ee958c857a
* | | Improve HTML reports performanceBoris Pavlovic2015-12-291-3/+3
|/ / | | | | | | | | | | | | | | Using angular logic instead of CSS rules for hover functionallity is really crazy idea that works very slow when we have >200 elements on page. Change-Id: Ifdf11694e526918b71ce3b384d94eea6b7357c4b
* | Fix TracedMeta classBoris Pavlovic2015-12-281-3/+3
| | | | | | | | | | | | | | We shouldn't .pop() trace_private from trace_args because it will work only for first method in class. Change-Id: Id713d1a1a9452bbdd2f58fde9499159cdfc0a037
* | Fix a couple of typos in doc stringsTimur Sufiev2015-12-282-2/+2
| | | | | | | | Change-Id: I976c619d7afbc6b4672bbb7472af918b8a43c3ff
* | Fix Ceilometer parser to use eventsDina Belova2015-12-249-192/+372
|/ | | | Change-Id: I83aa97b3caadb053fddc76088d19ed5110035c67
* Add TracedMeta classDina Belova2015-12-212-0/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | This metaclass allows to trace all classes inherited from the parent using it. Possible usage can look like: >>> @six.add_metaclass(profiler.TracedMeta) >>> class RpcManagerClass(object): >>> __trace_args__ = {'name': 'rpc', >>> 'info': None, >>> 'hide_args': False, >>> 'trace_private': False} >>> >>> def my_method(self, some_args): >>> pass >>> >>> def my_method2(self, some_arg1, some_arg2, kw=None, kw2=None) >>> pass Adding of this metaclass requires to set __trace_args__ attribute to the class we want to modify. __trace_args__ is the dictionary with one mandatory key included - "name", that will define name of action to be traced - E.g. wsgi, rpc, db, etc... Change-Id: I202680d47ec3f037824cf62f3dc0e3072a1baf7f
* Merge "Update requirements"Jenkins2015-12-144-9/+11
|\
| * Update requirementsDina Belova2015-12-144-9/+11
| | | | | | | | Change-Id: Ia6bc1eedddeebb0aceb01d3c34b066d0b268f34d
* | Deprecated tox -downloadcache option removedOndřej Nový2015-12-111-3/+0
|/ | | | | | | | | | Caching is enabled by default from pip version 6.0 More info: https://testrun.org/tox/latest/config.html#confval-downloadcache=path https://pip.pypa.io/en/stable/reference/pip_install/#caching Change-Id: I2f917ca797bcdad8d854440183867a09f7563cdc
* Fix enable/disable compatibilityDina Belova2015-11-232-8/+11
| | | | | | | | 0.3.1 osprofiler release had the bug related to the compatibility between old-fasion api-paste.ini way of setting HMAC keys and tracing enabling and new-fashion one. This commit fixes it. Change-Id: Ieb820acb6eb4614e5b66f6d8dbce4209a31833c3
* Add hacking rules & fix hacking issuesBoris Pavlovic2015-11-2314-124/+506
| | | | Change-Id: Id335bfdf49ed88edd14e896a48c22b11113600c8
* Make api-paste.ini config optional0.3.1Dina Belova2015-11-123-10/+39
| | | | | | | * osprofiler.web.WsgiMiddleware now treats hmac_keys as optional arg * add hmac_keys argument to enable() method to use it later in OpenStack services setup Change-Id: Ib544d2732c7307bc5405b4336eda80120d2f43af
* Fix minor typos in the multi-backend specificationSimon Pasquier2015-11-091-2/+2
| | | | Change-Id: I236e5100d08303ef046cee9370653ee0a52e4327
* Spec: Integration TestingBoris Pavlovic2015-11-091-0/+63
| | | | Change-Id: I99efd5d6844df9f706198545d7ca752292822db0
* Spec: Better DevStack IntegrationBoris Pavlovic2015-11-091-0/+59
| | | | Change-Id: I6572b7dcbce1a04453df563422bde9bf6fc16879
* Spec: Multi Backend supportBoris Pavlovic2015-11-091-0/+91
| | | | Change-Id: Ib17a511f029701581df98be21099309ffd659779