{ "info": { "author": "RedTurtle Technology", "author_email": "sviluppoplone@redturtle.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Zope2", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: Log Analysis", "Topic :: Utilities" ], "description": ".. contents:: **Table of contents**\n\nIntroduction\n============\n\nThis project adds to your system a new utility command: ``zope_lrr_analyzer``. This utility only works with\nZope instance logs with `haufe.requestmonitoring`__ installed (and where the\n`monitoring long running requests hook`__ is enabled).\n\n__ http://pypi.python.org/pypi/haufe.requestmonitoring\n__ http://pypi.python.org/pypi/haufe.requestmonitoring#monitoring-long-running-requests\n\nSo, your *instance.log* must be filled by entries like this::\n\n ------\n 2012-03-27T15:58:19 WARNING RequestMonitor.DumpTrace Long running request\n Request 28060 \"/VirtualHostBase/http/www.mysite.com:80/mysiteid/VirtualHostRoot/myrequest/...\" running in thread 1133545792 since 10.7206499577s\n Python call stack (innermost first)\n ...\n lot of lines, depends on Python traceback\n ...\n Module ZPublisherEventsBackport.patch, line 80, in publish\n Module ZPublisher.Publish, line 202, in publish_module_standard\n Module ZPublisher.Publish, line 401, in publish_module\n Module ZServer.PubCore.ZServerPublisher, line 25, in __init__\n \n\nThe utility will help you to parse long running request collecting some statistical data.\n\nHow to use\n==========\n\n Usage: zope_lrr_analyzer [options] logfile [logfile...]\n\n Analyze Zope instance log with haufe.requestmonitoring entries\n\n Options:\n --version show program's version number and exit\n -h, --help show this help message and exit\n -s START_FROM, --start=START_FROM\n start analysis after a given date/time (format like\n \"YYYY-MM-DD HH:MM:SS\")\n -e END_AT, --end=END_AT\n stop analysis at given date/time (format like \"YYYY-\n MM-DD HH:MM:SS\")\n -l LOG_SIZE, --log-size=LOG_SIZE\n keep only an amount of slow requests. Default is: no\n limit.\n -i INCLUDE_REGEX, --include=INCLUDE_REGEX\n a regexp expression that a calling path must match or\n will be discarded. Can be called multiple times,\n expanding the set\n -t TRACEBACK_INCLUDE_REGEX, --traceback-include=TRACEBACK_INCLUDE_REGEX\n a regexp expression that the Python traceback must\n match or will be discarded. Can be called multiple\n times, expanding the set\n -r, --keep-request-id\n Use request and thread ids to handle every match as a\n different entry\n\nResults\n=======\n\nLet's explain the results::\n\n Stats from 2012-11-14 00:02:07 to 2012-11-15 09:55:41 (347 LRR catched)\n ...\n ----\n 2 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/foo/bar\n 25 - 3654.05561542 (1:00:54.055615) - from 2012-11-15 07:48:10 to 2012-11-15 08:45:29\n\n ----\n 1 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/baz\n 77 - 16029.3731236 (4:27:09.373124) - from 2012-11-15 07:43:55 to 2012-11-15 08:45:30\n\nYou'll get a rank of slowest request paths (top one is fastest, last one is slowest).\nThe order is done by collecting all request's performed to the same path and then getting the total time.\n\nThis mean that a request called only once that needs 30 seconds is faster that another path\nthat only requires 10 seconds, but is called ten times (30x1 < 10x10).\n\nIf you use also the ``--keep-request-id`` option, every request is count as a separate entry,\nso the output change a little::\n\n Stats from 2012-04-27 00:02:07 to 2012-04-27 16:55:41 (347 LRR catched)\n ...\n ----\n 2 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/foo/bar\n 1510.2860291 (0:25:10.286029) - from 2012-09-19 08:36:27 to 2012-09-19 09:01:22\n\n ----\n 1 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/baz\n 1750.49365091 (0:29:10.493651) - from 2012-09-19 08:30:34 to 2012-09-19 09:00:58\n\nSingle entry meaning\n--------------------\n\nEvery entry gives that kind of data::\n\n Entry position Called path\n | |\n 1 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/...\n 15 - 171.913325071 (0:02:51.913325) - from 2012-09-19 08:30:34 to 2012-09-19 09:00:58\n | | | | |\n Times called | Time needed (human readable) | |\n | | Slow request end date\n Time needed (in seconds) Slow request start date\n\nWhen ``--keep-request-id`` used::\n\n Entry position Called path\n | |\n 1 /VirtualHostBase/http/yoursite.com:80/siteid/VirtualHostRoot/...\n 1750.49365091 (0:29:10.493651) - from 2012-09-19 08:30:34 to 2012-09-19 09:00:58\n | | | |\n Time needed (in seconds) | Slow request start date |\n | |\n Time needed (human readable) Slow request end date\n\n\nPlease note that the \"*Time needed*\" info is machine computation time.\n\nAuthors\n=======\n\nThis product was developed by RedTurtle Technology team.\n\n.. image:: http://www.redturtle.it/redturtle_banner.png\n :alt: RedTurtle Technology Site\n :target: http://www.redturtle.it/\n\nChangelog\n=========\n\n0.5 (2016-06-13)\n----------------\n\n- Display info about total count of catched LRR\n [keul]\n- Can now use ``-s`` and ``-e`` as a date string (no time needed)\n [keul]\n\n0.4 (2012-12-06)\n----------------\n\n* added the ``--traceback-include`` option\n [keul]\n\n0.3 (2012-11-15)\n----------------\n\n* Always display the start and end date of the request\n (not only if ``-r`` option is given)\n [keul]\n\n0.2 (2012-09-19)\n----------------\n\n* added the ``--keep-request-id`` option\n [keul]\n* also store (and display if ``-r`` option is given) the start and end request time\n [keul]\n\n0.1 (2012-04-27)\n----------------\n\n* First release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RedTurtle/zope_lrr_analyzer", "keywords": "file log process-time analyser access lrr zope", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "zope_lrr_analyzer", "package_url": "https://pypi.org/project/zope_lrr_analyzer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zope_lrr_analyzer/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/RedTurtle/zope_lrr_analyzer" }, "release_url": "https://pypi.org/project/zope_lrr_analyzer/0.5/", "requires_dist": null, "requires_python": null, "summary": "Analyze Zope instance log with haufe.requestmonitoring entries", "version": "0.5" }, "last_serial": 2164182, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "aa15bad57ae2b6d05c5eb64764ce3f02", "sha256": "25bbd774b33f2bea625a21c6f87e69612ec4f2bb1c68ff32a55af2c644cb8ad6" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.1.tar.gz", "has_sig": false, "md5_digest": "aa15bad57ae2b6d05c5eb64764ce3f02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4790, "upload_time": "2012-04-27T17:08:21", "url": "https://files.pythonhosted.org/packages/6b/f1/2a854e0d02b6bfcd073593ae575cf4af35ea69d3ba9b2dd6e6c97705a60c/zope_lrr_analyzer-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a3e3e88feffdb1b915132947dc769255", "sha256": "0154cfc9aebeaa4c26fd1a90e96f90a6ff8cf7393b558bff9bdf35912fdd5ef4" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.2.zip", "has_sig": false, "md5_digest": "a3e3e88feffdb1b915132947dc769255", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11586, "upload_time": "2012-09-19T10:01:59", "url": "https://files.pythonhosted.org/packages/2b/18/b62298b1ecfbc0332284ebcdea7ac6d344fe0a6939ab431921f3b23ac316/zope_lrr_analyzer-0.2.zip" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "703c36f645d3feede5de07be7adde2e0", "sha256": "06e637a62c051ca7ed8972d7948db818311ddee36e6a5c66a612d32e31be2477" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.3.zip", "has_sig": false, "md5_digest": "703c36f645d3feede5de07be7adde2e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12121, "upload_time": "2012-11-15T11:18:35", "url": "https://files.pythonhosted.org/packages/47/b1/ab1b33f84761099e6d22d20ded4ed65708a0882f9e8fba23d63da1db7fa0/zope_lrr_analyzer-0.3.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e0f7fe4a66282540201d75b655194c01", "sha256": "73c0f855e4c9e4c16cf2ab8f0e80308b1f1b2d58c64d3c99d9e3466149938926" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.4.zip", "has_sig": false, "md5_digest": "e0f7fe4a66282540201d75b655194c01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13388, "upload_time": "2012-12-06T11:21:10", "url": "https://files.pythonhosted.org/packages/68/77/13e85121ea0b2466783d59f9730c080f7296625f954509f7fd2393ddde65/zope_lrr_analyzer-0.4.zip" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "b5803e06fcbac5705603c477e2aff998", "sha256": "80e47ed19be3d41a4d303ae0ab0b63ed2503b6f5c2988343e11f6ed6fe97449b" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.5.tar.gz", "has_sig": false, "md5_digest": "b5803e06fcbac5705603c477e2aff998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6502, "upload_time": "2016-06-13T08:05:44", "url": "https://files.pythonhosted.org/packages/0c/45/4dc1087c8e484ac82ca302031482a6a11e65f1408c7c2bb310bebc27b58e/zope_lrr_analyzer-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5803e06fcbac5705603c477e2aff998", "sha256": "80e47ed19be3d41a4d303ae0ab0b63ed2503b6f5c2988343e11f6ed6fe97449b" }, "downloads": -1, "filename": "zope_lrr_analyzer-0.5.tar.gz", "has_sig": false, "md5_digest": "b5803e06fcbac5705603c477e2aff998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6502, "upload_time": "2016-06-13T08:05:44", "url": "https://files.pythonhosted.org/packages/0c/45/4dc1087c8e484ac82ca302031482a6a11e65f1408c7c2bb310bebc27b58e/zope_lrr_analyzer-0.5.tar.gz" } ] }