{ "info": { "author": "Torsten Rehn", "author_email": "torsten@rehn.email", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Monitoring" ], "description": "Timekeeper is a library for instrumentation of live Python code by sending measurements to InfluxDB.\n\nRequires Python 2.7 or 3.2+, and InfluxDB 0.9.0+.\n\nUsage\n=====\n\nYou can use a context manager or decorate a function to record the wall clock time of how long it took that function or block of code to complete:\n\n```python\nfrom timekeeper import TimeKeeper\n\ntk = TimeKeeper(\n \"udp+influxdb://localhost/databasename\",\n prefix=\"location-1.cluster-1.app-1.\", # if you prefer Graphite style over tags\n tags={\"host\": \"location-1.cluster-1.app-1\"},\n)\n\n\n@tk.decorate(\"some_slow_function\", tags={\"foo\": \"bar\"})\ndef slowpoke():\n sleep(9001)\n\n\ndef slowpoke2():\n with tk.context(\"some_other_slow_function\", tags={\"foo\": \"baz\"}):\n sleep(9001)\n```\n\nInstallation\n============\n\n```\npip install timekeeper\n```\n\n---\n\n![PyPI downloads](http://img.shields.io/pypi/dm/timekeeper.svg)   ![PyPI version](http://img.shields.io/pypi/v/timekeeper.svg)   ![Python 2.7](http://img.shields.io/badge/Python-2.7-green.svg)   ![Python 3.2+](http://img.shields.io/badge/Python-3.2+-green.svg)   ![License](http://img.shields.io/badge/License-ISC-red.svg)\n", "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/trehn/timekeeper", "keywords": "profiling,profile,metrics,instrumentation,measure,influxdb", "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "timekeeper", "package_url": "https://pypi.org/project/timekeeper/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/timekeeper/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/trehn/timekeeper" }, "release_url": "https://pypi.org/project/timekeeper/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Send runtime measurements of your code to InfluxDB", "version": "0.1.1" }, "last_serial": 1570011, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "186922eaebe00b2536542ab00c406a3b", "sha256": "64bd6080089e58a5777b0e01d4b08c27ee326edad81bed5a5e52bbf76edcb946" }, "downloads": -1, "filename": "timekeeper-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "186922eaebe00b2536542ab00c406a3b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2943, "upload_time": "2015-05-31T12:41:29", "url": "https://files.pythonhosted.org/packages/62/16/0e52239d837fa2bdec9b0e782bb94145fa869a1fcefe4a8a6a054dce8df7/timekeeper-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ddc50aa96dd25de28fbcce76feecd53", "sha256": "95ea7a38e852b1df079eed0ab02dc04306f4e8c49aed28d9457ab1f69d4e84b6" }, "downloads": -1, "filename": "timekeeper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3ddc50aa96dd25de28fbcce76feecd53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2650, "upload_time": "2015-05-31T12:41:25", "url": "https://files.pythonhosted.org/packages/91/66/aa7c8b420a2c4cb19f0edff3bced607efda6a1f62039c068cccf87a7087a/timekeeper-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c3d835fec8108cbb5dbb5d8636d44f0d", "sha256": "946340b0fa5ab8db38f44de977d5fd85639c7a32973e4cd3152cf0b8c8768adf" }, "downloads": -1, "filename": "timekeeper-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3d835fec8108cbb5dbb5d8636d44f0d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2961, "upload_time": "2015-05-31T14:50:25", "url": "https://files.pythonhosted.org/packages/4f/63/d3eeceb42c151b2d78771fc3446d208886643d30461918d183650fac7355/timekeeper-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d2389b0a7b5ce449648fb43a222ae54", "sha256": "49714ed8793aa2e0898e12dddd53b7f7de9f930260de725255555af7edb2d8e3" }, "downloads": -1, "filename": "timekeeper-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8d2389b0a7b5ce449648fb43a222ae54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2935, "upload_time": "2015-05-31T14:50:21", "url": "https://files.pythonhosted.org/packages/43/55/fd67e94781e350209ba525e965ffed7c453845e5cd90b01de7a00a98ab0a/timekeeper-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3d835fec8108cbb5dbb5d8636d44f0d", "sha256": "946340b0fa5ab8db38f44de977d5fd85639c7a32973e4cd3152cf0b8c8768adf" }, "downloads": -1, "filename": "timekeeper-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3d835fec8108cbb5dbb5d8636d44f0d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2961, "upload_time": "2015-05-31T14:50:25", "url": "https://files.pythonhosted.org/packages/4f/63/d3eeceb42c151b2d78771fc3446d208886643d30461918d183650fac7355/timekeeper-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d2389b0a7b5ce449648fb43a222ae54", "sha256": "49714ed8793aa2e0898e12dddd53b7f7de9f930260de725255555af7edb2d8e3" }, "downloads": -1, "filename": "timekeeper-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8d2389b0a7b5ce449648fb43a222ae54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2935, "upload_time": "2015-05-31T14:50:21", "url": "https://files.pythonhosted.org/packages/43/55/fd67e94781e350209ba525e965ffed7c453845e5cd90b01de7a00a98ab0a/timekeeper-0.1.1.tar.gz" } ] }