{ "info": { "author": "Kawai Hiroaki", "author_email": "hiroaki.kawai@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "This is a glue between [prometheus_client](https://github.com/prometheus/client_python) and [pastedeploy](https://docs.pylonsproject.org/projects/pastedeploy/en/latest/).\n\n# Quick start\n\nconfiguration example\n\n```\n[composite:main]\nuse = egg:Paste#urlmap\n/metrics = prom\n/ = papp\n\n[pipeline:papp]\npipeline = perf app\n\n[app:app]\nuse = egg:someapp\n\n[filter:perf]\nuse = egg:prometheus_paster#filter\nname = someapp_call\n\n[app:prom]\nuse = egg:prometheus_paster\n```\n\n## Prometheus exporter endpoint Configuration\n\nYou can expose the endpoint with `egg:prometheus_paster` wsgi application.\n\n```\n[app:main]\nuse = egg:prometheus_paster\n```\n\n## Collector filter Configuration\n\n- latency : metric name for wsgi processing time (default `response_latency_seconds`)\n- length : metric name for wsgi response length (default `response_length_bytes`)\n- path_regex : if request path does not match this regex, then it will be ignored. (default `.*`)\n- disable_latency: if set to true, then latency metrics will not be collected.\n- disable_length: if set to true, then length metrics will not be collected.\n\n\n## Multiple metrics (1)\n\nIf you want to collect two different application on the same wsgi container, \nthen you can put different filters.\n\n```\n[composite:main]\nuse = egg:Paste#urlmap\n/metrics = prom\n/app1 = app1\n/app2 = app2\n\n[app:app1]\nuse = egg:app1\nfilter-with = app1_perf\n\n[filter:app1_perf]\nuse = egg:prometheus_paster#filter\nlatency = app1_latency\nlength = app1_length\n\n[app:app2]\nuse = egg:app2\nfilter-with = app2_perf\n\n[filter:app2_perf]\nuse = egg:prometheus_paster#filter\nlatency = app2_latency\nlength = app2_length\n\n[app:prom]\nuse = egg:prometheus_paster\n```\n\n\n## Multiple metrics (2)\n\nAnother option is stacking filters.\n\n```\n[composite:main]\nuse = egg:Paste#urlmap\n/metrics = prom\n/app = app1_pipe\n\n[pipeline:app1_pipe]\npipeline = path1_perf path2_perf app1\n\n[app:app1]\nuse = egg:app1\n\n[filter:path1_perf]\nuse = egg:prometheus_paster#filter\nlatency = path1_latency\nlength = path1_length\npath_regex = /path1/.*\n\n[filter:path2_perf]\nuse = egg:prometheus_paster#filter\nlatency = path2_latency\nlength = path2_length\npath_regex = /path2/.*\n\n[app:prom]\nuse = egg:prometheus_paster\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hkwi/python-prometheus-paster", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "prometheus-paster", "package_url": "https://pypi.org/project/prometheus-paster/", "platform": "", "project_url": "https://pypi.org/project/prometheus-paster/", "project_urls": { "Homepage": "https://github.com/hkwi/python-prometheus-paster" }, "release_url": "https://pypi.org/project/prometheus-paster/0.1.1/", "requires_dist": [ "prometheus-client" ], "requires_python": "", "summary": "prometheus_client and pastedeploy glue", "version": "0.1.1" }, "last_serial": 5465424, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "5cd31e6aed30925285721f49a3f3d5cf", "sha256": "765d1ef3bf37350786d99039a8436813ea72aed70fab0ae96cb780982e60e836" }, "downloads": -1, "filename": "prometheus_paster-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5cd31e6aed30925285721f49a3f3d5cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3202, "upload_time": "2019-06-29T13:38:17", "url": "https://files.pythonhosted.org/packages/28/d5/e9fddc2ca929d4262182c8d6729f22963ea12bb44d0255b65d6cf99ba2af/prometheus_paster-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71dbc61100e7afcf2b475a4bd65b84e9", "sha256": "fae4ce282582240259e28b8855636165b4bd121274995b457d3eea4fdde266b5" }, "downloads": -1, "filename": "prometheus_paster-0.1.1.tar.gz", "has_sig": false, "md5_digest": "71dbc61100e7afcf2b475a4bd65b84e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2911, "upload_time": "2019-06-29T13:38:19", "url": "https://files.pythonhosted.org/packages/16/b5/a12c178e562162a7623204655734b5f6643e3dd8596a9d1cf5d6d141fc10/prometheus_paster-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5cd31e6aed30925285721f49a3f3d5cf", "sha256": "765d1ef3bf37350786d99039a8436813ea72aed70fab0ae96cb780982e60e836" }, "downloads": -1, "filename": "prometheus_paster-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5cd31e6aed30925285721f49a3f3d5cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3202, "upload_time": "2019-06-29T13:38:17", "url": "https://files.pythonhosted.org/packages/28/d5/e9fddc2ca929d4262182c8d6729f22963ea12bb44d0255b65d6cf99ba2af/prometheus_paster-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71dbc61100e7afcf2b475a4bd65b84e9", "sha256": "fae4ce282582240259e28b8855636165b4bd121274995b457d3eea4fdde266b5" }, "downloads": -1, "filename": "prometheus_paster-0.1.1.tar.gz", "has_sig": false, "md5_digest": "71dbc61100e7afcf2b475a4bd65b84e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2911, "upload_time": "2019-06-29T13:38:19", "url": "https://files.pythonhosted.org/packages/16/b5/a12c178e562162a7623204655734b5f6643e3dd8596a9d1cf5d6d141fc10/prometheus_paster-0.1.1.tar.gz" } ] }