{ "info": { "author": "Globo.com", "author_email": "backstage@corp.globo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9" ], "description": "Tornado prometheus\n==================\n\n.. image:: https://travis-ci.org/globocom/tornado-prometheus.svg?branch=master\n :target: https://travis-ci.org/globocom/tornado-prometheus\n\nHTTP metrics for a tornado application\n\nInstalling\n----------\n\n.. code-block:: bash\n\n pip install tornado-prometheus\n\n\nUsage\n-----\n\n.. code-block:: python\n\n from tornado.web import Application, RequestHandler\n from tornado.ioloop import IOLoop\n\n from tornado_prometheus import PrometheusMixIn, MetricsHandler\n\n class SampleApp(PrometheusMixIn, Application):\n pass\n\n if __name__ == '__main__':\n app = SampleApp([\n (r\"/metrics\", MetricsHandler),\n ])\n\n app.listen(8888)\n IOLoop.current().start()\n\n\nExample output for metric route\n-------------------------------\n\n.. code-block::\n\n # HELP tornado_http_request_duration_seconds HTTP request duration in seconds\n # TYPE tornado_http_request_duration_seconds histogram\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"0.01\",method=\"GET\"} 0.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"0.05\",method=\"GET\"} 0.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"0.1\",method=\"GET\"} 1.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"0.5\",method=\"GET\"} 1.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"0.75\",method=\"GET\"} 1.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"1.0\",method=\"GET\"} 1.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"2.5\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"5.0\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"7.5\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"10.0\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"15.0\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"20.0\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"30.0\",method=\"GET\"} 2.0\n tornado_http_request_duration_seconds_bucket{handler=\"StatusHandler\",le=\"+Inf\",method=\"GET\"} 2.0\n\n # HELP tornado_http_requests_total Total of HTTP requests processed\n # TYPE tornado_http_requests_total counter\n tornado_http_requests_total{handler=\"StatusHandler\",method=\"GET\",status=\"2xx\"} 2.0\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/globocom/tornado-prometheus", "keywords": "prometheus tornado", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tornado-prometheus", "package_url": "https://pypi.org/project/tornado-prometheus/", "platform": "", "project_url": "https://pypi.org/project/tornado-prometheus/", "project_urls": { "Homepage": "https://github.com/globocom/tornado-prometheus" }, "release_url": "https://pypi.org/project/tornado-prometheus/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "HTTP metrics for a tornado application", "version": "0.1.2", "yanked": false, "yanked_reason": null }, "last_serial": 10267348, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "352f8014c020da9a24b9fb72bbf4ca44", "sha256": "84dc8ae5de6edf35e4e899a3e0e7be0fde1030bd0c587632840fa3ffae487a92" }, "downloads": -1, "filename": "tornado_prometheus-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "352f8014c020da9a24b9fb72bbf4ca44", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3489, "upload_time": "2019-10-14T18:52:14", "upload_time_iso_8601": "2019-10-14T18:52:14.526118Z", "url": "https://files.pythonhosted.org/packages/ef/88/d8c960ce52536a81f785bc2a56bfd09b140a0398adb19b1e01a6eac81e7f/tornado_prometheus-0.1.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d660954024aa764377d3de34c53121a5", "sha256": "4bdd5cef53695e392213e64f4351408a93efce3dbfdecfede5b1bfc7cc818150" }, "downloads": -1, "filename": "tornado-prometheus-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d660954024aa764377d3de34c53121a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2363, "upload_time": "2019-10-14T18:52:17", "upload_time_iso_8601": "2019-10-14T18:52:17.073758Z", "url": "https://files.pythonhosted.org/packages/a6/a2/3d86194d30ed20e06a7d7ccca799e4ffcb0c1c0cd16dd7f4572ca3470c6c/tornado-prometheus-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cb807c24bbe3b0061c7f0dbbc9fdf7a7", "sha256": "c85c522948314ca11c7ea581a96ce75bdc6c567d11a3c9b403404b4ab20b6dd8" }, "downloads": -1, "filename": "tornado_prometheus-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cb807c24bbe3b0061c7f0dbbc9fdf7a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3705, "upload_time": "2019-10-21T18:55:45", "upload_time_iso_8601": "2019-10-21T18:55:45.810846Z", "url": "https://files.pythonhosted.org/packages/5e/b8/3270f1d4fdef41d7bd17a110e003d1a883e572770fdbb88cbc545c47959a/tornado_prometheus-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "96960f3dec1c269234b79f97df708731", "sha256": "41dff565944de9aabcddeb20cd9470a2ed59d1df2cecb359c788210b02d04a89" }, "downloads": -1, "filename": "tornado-prometheus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "96960f3dec1c269234b79f97df708731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2666, "upload_time": "2019-10-21T18:55:48", "upload_time_iso_8601": "2019-10-21T18:55:48.026874Z", "url": "https://files.pythonhosted.org/packages/c7/40/ee8c317d3ad947c8e3d67e7b533a987f5e5f2c871860bb58fec352328b3a/tornado-prometheus-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8fb1aa23bb4bb49f6deefdd0c914625b", "sha256": "873d8189acffb991405f1ff8f8a2fcef4ab04aa6caffcc4890c634b78a186385" }, "downloads": -1, "filename": "tornado-prometheus-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8fb1aa23bb4bb49f6deefdd0c914625b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2707, "upload_time": "2021-05-05T16:51:14", "upload_time_iso_8601": "2021-05-05T16:51:14.832370Z", "url": "https://files.pythonhosted.org/packages/1c/ec/ada47c09fc4013ecab86df7254b7572ff4dcb91c518ae5b4704a3ccde21f/tornado-prometheus-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8fb1aa23bb4bb49f6deefdd0c914625b", "sha256": "873d8189acffb991405f1ff8f8a2fcef4ab04aa6caffcc4890c634b78a186385" }, "downloads": -1, "filename": "tornado-prometheus-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8fb1aa23bb4bb49f6deefdd0c914625b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2707, "upload_time": "2021-05-05T16:51:14", "upload_time_iso_8601": "2021-05-05T16:51:14.832370Z", "url": "https://files.pythonhosted.org/packages/1c/ec/ada47c09fc4013ecab86df7254b7572ff4dcb91c518ae5b4704a3ccde21f/tornado-prometheus-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }