{ "info": { "author": "Buildbot contributors", "author_email": "devel@buildbot.net", "bugtrack_url": null, "classifiers": [], "description": "This plugin implements a profiler for buildbot master.\n\n- It uses statistical profiling loosely based on plop https://github.com/bdarnell/plop\n- Suitable for prod as statistical profiling is very low overhead\n- Profiles all threads including main thread and db threads\n- Removes noise samples when the threads are actually in the main loop\n- In-browser UI based on nvd3 and d3-flame-graph\n- Show cpu and memory percent over time\n- flame graph can be restricted to a subset of the trace\n- Detailed caller/callee are displayed when clicking on a function\n\n\nUsage\n=====\n\ninstallation:\n\n.. code:: bash\n\n pip install buildbot_profiler\n\nthen in master.cfg:\n\n.. code:: python\n\n c['www']['plugins']['profiler'] = True\n\nAlternatively, you can install it in service mode, without the UI\n\n.. code:: python\n\n c['services'] = [util.ProfilerService()]\n\nProfilerService takes following arguments:\n\n.. code:: python\n\n ProfilerService(frequency=100, gatherperiod=30 * 60, mode='virtual', basepath=None, wantBuilds=100)\n\n\n- ``frequency``: the profiling frequency in HZ. Not that if there is no activity during a profiling timer, no data will be recorded.\n\n- ``gatherperiod``: the period during which the profiler works on one file. By default a new json file is created every 30min with the profile of the last 30min. Note that if there is no activity the gather period might be longer.\n\n- ``mode``: profiling timer to use. Can be:\n\n - ``prof``: use ``SIG_PROF`` timer,\n - ``virtual``: use ``SIGVTALRM`` timer,\n - ``real``: use ``SIGALRM`` timer,\n\n- ``basepath``: the base path where to store the json files. (defaults to ``(master's basedir)/prof_``)\n\n- ``wantBuilds``: if this is > 0 then the last N builds are stored along side the profile data, for debug purpose.\n\nStandalone Viewer\n=================\n\nA standalone viewer is provided for offline browse of user submitted profiles.\n\n.. code:: bash\n\n bbprofiler\n\nThen you can open your browser on http://localhost:8080\n\nScreenshot\n==========\n\n.. image:: https://raw.githubusercontent.com/tardyp/buildbot_profiler/master/screenshot.png\n\n\nChangeLog\n=========\n* 1.2.2 Fixes for python3\n* 1.2.1 Fix issues with load calculation\n* 1.2.0 Fold the flames so that you can explore larger traces.\n Fix the service so that the trace is reset between run.\n* 1.1.0 add a service to use the profiler without bother the users with a profiler UI.\n* 1.0.0 initial version\n\n\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/tardyp/buildbot_profiler", "keywords": "", "license": "GNU GPL", "maintainer": "", "maintainer_email": "", "name": "buildbot-profiler", "package_url": "https://pypi.org/project/buildbot-profiler/", "platform": "", "project_url": "https://pypi.org/project/buildbot-profiler/", "project_urls": { "Homepage": "https://github.com/tardyp/buildbot_profiler" }, "release_url": "https://pypi.org/project/buildbot-profiler/1.2.2/", "requires_dist": [ "klein", "psutil" ], "requires_python": "", "summary": "\"Profiler for buildbot master and its UI\"", "version": "1.2.2" }, "last_serial": 5231831, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7f3cdcb0b68c134d649a9ac33419ac19", "sha256": "441db0eea18c58b0d41c6470a8a8431337788384b91f38d258a92e10ee3f97a6" }, "downloads": -1, "filename": "buildbot_profiler-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "7f3cdcb0b68c134d649a9ac33419ac19", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 832745, "upload_time": "2016-08-22T17:29:39", "url": "https://files.pythonhosted.org/packages/95/19/4e076819f1d0bdff195dc2ea1a471f7bdd9a4ba98c7665cfb96d99a283f6/buildbot_profiler-0.0.1-py2-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1d785786f649c0e73deedf1b8deb6c1e", "sha256": "c895f0f6efa41fea7dcedc47f9d45fee8e18762da0f03f7946647c9c24f20c30" }, "downloads": -1, "filename": "buildbot_profiler-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "1d785786f649c0e73deedf1b8deb6c1e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 833609, "upload_time": "2016-08-26T11:35:20", "url": "https://files.pythonhosted.org/packages/6f/88/ee9b8dd02c8fa40f62cdd647adff5046865f33ad130511a9716c5f3fd10d/buildbot_profiler-0.0.2-py2-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "3d0300af7f787622f58d9eb459fc23e1", "sha256": "b3ad75b6905a47a8fe1c228a712e655de03b15bb908710e20f6491f3e405fe59" }, "downloads": -1, "filename": "buildbot_profiler-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3d0300af7f787622f58d9eb459fc23e1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1037865, "upload_time": "2016-12-12T11:34:43", "url": "https://files.pythonhosted.org/packages/72/17/090c2acbfe7a5976d45b83e3b6286a457db8b1b04eaa8d97b9bff019c28b/buildbot_profiler-1.0.0-py2-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "048f49b674b8f368d748f201eda4db9f", "sha256": "e82580b172bda2507434b393e5ff396e0ecf628b803bfab4bdd5f02bfb81a03f" }, "downloads": -1, "filename": "buildbot_profiler-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "048f49b674b8f368d748f201eda4db9f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 848725, "upload_time": "2017-07-23T14:20:48", "url": "https://files.pythonhosted.org/packages/a1/32/e7ded4bda02b9e0f4e810fd7280dd5666140e00244eba9689eaa5cfa4513/buildbot_profiler-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c03214a65a4035b7580b4c7a2ffb6d7", "sha256": "65e204af59f81984a9fa46b487e1ab0eca43d97f52328abbb88fc6201089c621" }, "downloads": -1, "filename": "buildbot-profiler-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4c03214a65a4035b7580b4c7a2ffb6d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 810110, "upload_time": "2017-07-23T14:20:50", "url": "https://files.pythonhosted.org/packages/53/a4/8320219b0475644fa52f07beb84663d6cbe2c41c59e3e5ffba22c456bc12/buildbot-profiler-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8bb4f8f151794487e7cae92d0c92d6b6", "sha256": "e3436f7554646d3fdb675a8bbeec5691e083e7a598903c2d781edea2031ab45a" }, "downloads": -1, "filename": "buildbot_profiler-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8bb4f8f151794487e7cae92d0c92d6b6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 848765, "upload_time": "2017-07-23T14:37:50", "url": "https://files.pythonhosted.org/packages/b2/12/030e6f2aecaba137b077fdb493d3af74521b65fcbe24d482e359acc5512a/buildbot_profiler-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d2d44030935cc6d92e1fc4e1fec1869", "sha256": "30c5f5fce1c2312180b3f6a5f2c2753a84868becfd41704ba5f4053cb350fc76" }, "downloads": -1, "filename": "buildbot-profiler-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0d2d44030935cc6d92e1fc4e1fec1869", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 810142, "upload_time": "2017-07-23T14:37:55", "url": "https://files.pythonhosted.org/packages/e1/b5/f4e6f9a04947b2e274abf7abbcbd0bd47f733dded71fdc41000cd9101d23/buildbot-profiler-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d2a9017ab720426d4f11969eaa64e4fd", "sha256": "177e9c83d44dde7118d8d6df3e0d151976c935a834ca881a86e4ee6c54d1c306" }, "downloads": -1, "filename": "buildbot_profiler-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2a9017ab720426d4f11969eaa64e4fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 849120, "upload_time": "2017-08-11T20:07:00", "url": "https://files.pythonhosted.org/packages/e9/94/12a3c2370d671e1eab85f3713c7d1915b1b64bc29c8f06d312e1cbd4ecb9/buildbot_profiler-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4540971c5ed5a8ee2ea9f131d21abd8", "sha256": "e0d1073a7c6b4837d7e271baead1f477915e645b95d835439ac34abdc1e8eeb9" }, "downloads": -1, "filename": "buildbot-profiler-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c4540971c5ed5a8ee2ea9f131d21abd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 811116, "upload_time": "2017-08-11T20:07:04", "url": "https://files.pythonhosted.org/packages/e8/a9/c9cec534783e9cc0ae109c829076f2161a79eae8eb02e2089d8f908f7142/buildbot-profiler-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "78020dcf4f0aa81640630ca4c4012814", "sha256": "fac9ad42d505f193afa0f9f5e6cc02e744d6c63cb4f67327b2222133abc3805a" }, "downloads": -1, "filename": "buildbot_profiler-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78020dcf4f0aa81640630ca4c4012814", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1043079, "upload_time": "2017-08-14T16:17:27", "url": "https://files.pythonhosted.org/packages/7a/4d/9d752e0b89b4b05f12601709b0088dd6b749ae6803251c791347115aa2a6/buildbot_profiler-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c13951bf1d43b01b88c053955ecc101c", "sha256": "1fca02764bda0920fbda31b6df0f251d0166626812499963e51f3de3cbfcd380" }, "downloads": -1, "filename": "buildbot-profiler-1.2.1.tar.gz", "has_sig": false, "md5_digest": "c13951bf1d43b01b88c053955ecc101c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1001373, "upload_time": "2017-08-14T16:17:32", "url": "https://files.pythonhosted.org/packages/38/3e/cd59010755e32925c7297a0b2dbb6b6b24968dfec476531ded37be2d567c/buildbot-profiler-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "975ebca985c1991ad6f220ea2a46c53e", "sha256": "ea16637aa3af061d40f2cf31924f7599e186897204273034d99d36a890c7f59e" }, "downloads": -1, "filename": "buildbot_profiler-1.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "975ebca985c1991ad6f220ea2a46c53e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1043159, "upload_time": "2018-01-30T17:55:54", "url": "https://files.pythonhosted.org/packages/a9/16/dee77ed216cace13d4cf29ef0869ae0a5f6bccbce718a3580396e38c122a/buildbot_profiler-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9b9573db144696b248a3311839ce8d4", "sha256": "44772a5b23f3627e3108ddb1cd0ef7e51bc7b0ce91f7fbdd0fd35dfd8449882e" }, "downloads": -1, "filename": "buildbot-profiler-1.2.2.tar.gz", "has_sig": true, "md5_digest": "e9b9573db144696b248a3311839ce8d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 811059, "upload_time": "2018-01-30T17:55:58", "url": "https://files.pythonhosted.org/packages/91/cf/f094668b70c4ff2b7c239f3a7fd798e6e10c81ec8f79bc6d396bd86a7497/buildbot-profiler-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "975ebca985c1991ad6f220ea2a46c53e", "sha256": "ea16637aa3af061d40f2cf31924f7599e186897204273034d99d36a890c7f59e" }, "downloads": -1, "filename": "buildbot_profiler-1.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "975ebca985c1991ad6f220ea2a46c53e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1043159, "upload_time": "2018-01-30T17:55:54", "url": "https://files.pythonhosted.org/packages/a9/16/dee77ed216cace13d4cf29ef0869ae0a5f6bccbce718a3580396e38c122a/buildbot_profiler-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9b9573db144696b248a3311839ce8d4", "sha256": "44772a5b23f3627e3108ddb1cd0ef7e51bc7b0ce91f7fbdd0fd35dfd8449882e" }, "downloads": -1, "filename": "buildbot-profiler-1.2.2.tar.gz", "has_sig": true, "md5_digest": "e9b9573db144696b248a3311839ce8d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 811059, "upload_time": "2018-01-30T17:55:58", "url": "https://files.pythonhosted.org/packages/91/cf/f094668b70c4ff2b7c239f3a7fd798e6e10c81ec8f79bc6d396bd86a7497/buildbot-profiler-1.2.2.tar.gz" } ] }