{ "info": { "author": "Megan Kearl Patten", "author_email": "megkearl@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Topic :: Utilities" ], "description": "Profile a Tornado application through a REST API\r\n================================================\r\n\r\n.. image:: https://travis-ci.org/makearl/tornado-profile.svg?branch=master\r\n :target: https://travis-ci.org/makearl/tornado-profile\r\n\r\nAdd this library to your routes to add a REST API for profiling your Tornado application.\r\n\r\n\r\nUsage\r\n-----\r\n\r\n.. code-block::\r\n\r\n import tornado\r\n from tornado_profile import TornadoProfiler\r\n\r\n port = 8888\r\n routes = []\r\n\r\n routes += TornadoProfiler().get_routes()\r\n app = tornado.web.Application(routes)\r\n app.listen(port)\r\n tornado.ioloop.IOLoop.current().start()\r\n\r\n # Create with optional route prefix and base class for handlers\r\n routes += TornadoProfiler(prefix=\"\", handler_base_class=custom_base_class).get_routes()\r\n\r\n\r\nInstallation\r\n------------\r\n\r\n.. code-block::\r\n\r\n $ pip install tornado-profile\r\n\r\n\r\nAPI\r\n---\r\n\r\n.. code-block::\r\n\r\n # Start the profiler\r\n POST /profiler\r\n\r\n # Stop the profiler\r\n DELETE /profiler\r\n\r\n # Get the profiler status\r\n GET /profiler\r\n {\"running\": true/false}\r\n\r\n # Get the profiler statistics\r\n GET /profiler/stats\r\n {\r\n \"statistics\": [\r\n {\r\n \"path\": ...,\r\n \"line\": ...,\r\n \"func_name\": ...,\r\n \"num_calls\": ...,\r\n \"total_time\": ...,\r\n \"total_time_per_call\": ...,\r\n \"cum_time\": ...,\r\n \"cum_time_per_call\": ...\r\n }\r\n ...\r\n ]\r\n }\r\n\r\n # Get the profiler statistics with optional query parameters\r\n GET /profiler/stats?count=1&sort=num_calls&strip_dirs=false\r\n\r\n # Clear the profiler statistics\r\n DELETE /profiler/stats\r\n\r\n\r\nTools\r\n-----\r\nCommand Line: https://github.com/dimrozakis/tornado-profile-client\r\n\r\n\r\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/makearl/tornado-profile", "keywords": "tornado profile profiler rest", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tornado-profile", "package_url": "https://pypi.org/project/tornado-profile/", "platform": "", "project_url": "https://pypi.org/project/tornado-profile/", "project_urls": { "Homepage": "https://github.com/makearl/tornado-profile" }, "release_url": "https://pypi.org/project/tornado-profile/1.2.0/", "requires_dist": [ "tornado", "yappi" ], "requires_python": "", "summary": "Profile a Tornado application via REST", "version": "1.2.0" }, "last_serial": 2478711, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e6315d46a919414a277b1842c55c8c9b", "sha256": "e153ed938beeff93467ba8d554c1c48af8d9b444e4fa79ec69c52b80d071971b" }, "downloads": -1, "filename": "tornado_profile-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e6315d46a919414a277b1842c55c8c9b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4585, "upload_time": "2016-10-20T01:20:29", "url": "https://files.pythonhosted.org/packages/39/fb/021f7d2673a6f58879d18583fecc10f81cb17a61f608bc6060dff23e6d28/tornado_profile-1.0.0-py2-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "2d0a88a4fff192678c24dbdc53dd93a5", "sha256": "5731c455dbe4bd691f1c891528c8f79f4b09212b33ca0c8d3dc723ada675bdeb" }, "downloads": -1, "filename": "tornado_profile-1.1.0-py2.7.egg", "has_sig": false, "md5_digest": "2d0a88a4fff192678c24dbdc53dd93a5", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 6269, "upload_time": "2016-10-23T00:47:54", "url": "https://files.pythonhosted.org/packages/6d/64/c888266ea8e5e0fdb1dfb5454e268db74203df34eeaa7a844cef684cd02f/tornado_profile-1.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "2dc59f0b528fb3424d279ba70f772d4f", "sha256": "6abe1aec3a4bcad7f3f8bb42924cf9e65f8ea4b29c2feab2083d195a5bd95a26" }, "downloads": -1, "filename": "tornado_profile-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "2dc59f0b528fb3424d279ba70f772d4f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5089, "upload_time": "2016-10-23T00:47:52", "url": "https://files.pythonhosted.org/packages/66/c8/988efa8430ad697056847095107a8a71ecc25c7acea47bd24b773077af51/tornado_profile-1.1.0-py2-none-any.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "675bb4c695b3fe8f6716756c0dad4798", "sha256": "3459e2b034064a3652edcd3c6cd7fe6e3cdc6998ec61eebf0d940b600cdd7fb6" }, "downloads": -1, "filename": "tornado_profile-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "675bb4c695b3fe8f6716756c0dad4798", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 7702, "upload_time": "2016-11-23T13:41:22", "url": "https://files.pythonhosted.org/packages/a0/67/209b18da417ee45a7053c4bc5b305a4d8ccdb7197da5e6abbafaf04bda81/tornado_profile-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f26ce303ffc61fdc595d25ef74700277", "sha256": "1051e3a792dc5845a1029ab23321ce53aedcc06a74f75af406670860fd6bf05e" }, "downloads": -1, "filename": "tornado_profile-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f26ce303ffc61fdc595d25ef74700277", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5604, "upload_time": "2016-11-23T13:41:20", "url": "https://files.pythonhosted.org/packages/96/59/e61a6b5fef83c17fab008e56ad7fb6dbe46bac85e3bbd8bf0fece33cb03b/tornado_profile-1.2.0-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "675bb4c695b3fe8f6716756c0dad4798", "sha256": "3459e2b034064a3652edcd3c6cd7fe6e3cdc6998ec61eebf0d940b600cdd7fb6" }, "downloads": -1, "filename": "tornado_profile-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "675bb4c695b3fe8f6716756c0dad4798", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 7702, "upload_time": "2016-11-23T13:41:22", "url": "https://files.pythonhosted.org/packages/a0/67/209b18da417ee45a7053c4bc5b305a4d8ccdb7197da5e6abbafaf04bda81/tornado_profile-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f26ce303ffc61fdc595d25ef74700277", "sha256": "1051e3a792dc5845a1029ab23321ce53aedcc06a74f75af406670860fd6bf05e" }, "downloads": -1, "filename": "tornado_profile-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f26ce303ffc61fdc595d25ef74700277", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5604, "upload_time": "2016-11-23T13:41:20", "url": "https://files.pythonhosted.org/packages/96/59/e61a6b5fef83c17fab008e56ad7fb6dbe46bac85e3bbd8bf0fece33cb03b/tornado_profile-1.2.0-py2-none-any.whl" } ] }