{ "info": { "author": "AWeber Communications", "author_email": "api@aweber.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "sprockets.mixins.metrics\n========================\n\n|Version| |Status| |Coverage| |License|\n\nAdjust counter and timer metrics in `StatsD`_ using the same API.\n\nThe mix-in is configured through the ``tornado.web.Application`` settings\nproperty using a key defined by the specific mix-in.\n\nDocumentation\n-------------\nhttps://sprocketsmixinsmetrics.readthedocs.io\n\n\nStatsd Mixin\n------------\n\nThe following snippet configures the StatsD mix-in from common environment\nvariables. This simple handler will emit a timer metric that identifies each\ncall to the ``get`` method as well as a separate metric for the database query.\n\n.. code-block:: python\n\n import os\n\n from sprockets.mixins import mediatype\n from sprockets.mixins.metrics import statsd\n from tornado import web\n import queries\n\n def make_application():\n application = web.Application([\n web.url(r'/', MyHandler),\n ], **settings)\n\n statsd.install({'namespace': 'my-application',\n 'host': os.environ.get('STATSD_HOST', '127.0.0.1'),\n 'port': os.environ.get('STATSD_PORT', '8125')})\n return application\n\n class MyHandler(statsd.StatsdMixin,\n mediatype.ContentMixin,\n web.RequestHandler):\n\n def initialize(self):\n super(MyHandler, self).initialize()\n self.db = queries.TornadoSession(os.environ['MY_PGSQL_DSN'])\n\n async def get(self, obj_id):\n with self.execution_timer('dbquery', 'get'):\n result = await self.db.query('SELECT * FROM foo WHERE id=%s',\n obj_id)\n self.send_response(result)\n\nSettings\n^^^^^^^^\n\n:namespace: The namespace for the measurements\n:host: The Statsd host\n:port: The Statsd port\n:prepend_metric_type: Optional flag to prepend bucket path with the StatsD\n metric type\n\nDevelopment Quickstart\n----------------------\n.. code-block:: bash\n\n $ python3.4 -mvenv env\n $ . ./env/bin/activate\n (env)$ env/bin/pip install -r requires/development.txt\n (env)$ nosetests\n test_metrics_with_buffer_not_flush (tests.InfluxDbTests) ... ok\n test_that_cached_db_connection_is_used (tests.InfluxDbTests) ... ok\n test_that_counter_is_tracked (tests.InfluxDbTests) ... ok\n test_that_execution_timer_is_tracked (tests.InfluxDbTests) ... ok\n test_that_http_method_call_details_are_recorded (tests.InfluxDbTests) ... ok\n test_that_metric_tag_is_tracked (tests.InfluxDbTests) ... ok\n test_that_add_metric_tag_is_ignored (tests.StatsdMethodTimingTests) ... ok\n test_that_cached_socket_is_used (tests.StatsdMethodTimingTests) ... ok\n test_that_counter_accepts_increment_value (tests.StatsdMethodTimingTests) ... ok\n test_that_counter_increment_defaults_to_one (tests.StatsdMethodTimingTests) ... ok\n test_that_default_prefix_is_stored (tests.StatsdMethodTimingTests) ... ok\n test_that_execution_timer_records_time_spent (tests.StatsdMethodTimingTests) ... ok\n test_that_http_method_call_is_recorded (tests.StatsdMethodTimingTests) ... ok\n\n ----------------------------------------------------------------------\n Ran 13 tests in 3.572s\n\n OK\n (env)$ ./setup.py build_sphinx -q\n running build_sphinx\n (env)$ open build/sphinx/html/index.html\n\n.. _StatsD: https://github.com/etsy/statsd\n\n\n.. |Version| image:: https://img.shields.io/pypi/v/sprockets_mixins_metrics.svg\n :target: https://pypi.python.org/pypi/sprockets_mixins_metrics\n\n.. |Status| image:: https://img.shields.io/travis/sprockets/sprockets.mixins.metrics.svg\n :target: https://travis-ci.org/sprockets/sprockets.mixins.metrics\n\n.. |Coverage| image:: https://img.shields.io/codecov/c/github/sprockets/sprockets.mixins.metrics.svg\n :target: https://codecov.io/github/sprockets/sprockets.mixins.metrics?branch=master\n\n.. |License| image:: https://img.shields.io/pypi/l/sprockets_mixins_metrics.svg\n :target: https://github.com/sprockets/sprockets.mixins.metrics/blob/master/LICENSE", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sprockets/sprockets.mixins.metrics", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "sprockets.mixins.metrics", "package_url": "https://pypi.org/project/sprockets.mixins.metrics/", "platform": "", "project_url": "https://pypi.org/project/sprockets.mixins.metrics/", "project_urls": { "Homepage": "https://github.com/sprockets/sprockets.mixins.metrics" }, "release_url": "https://pypi.org/project/sprockets.mixins.metrics/4.1.0/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Record performance metrics about your application", "version": "4.1.0" }, "last_serial": 5780544, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "c9c1acdd8f146286d33f59abd8f5cbbb", "sha256": "08c67aa3088581ca787b19a1ea6c14e01ced0f487d569ceb467478b8f927f785" }, "downloads": -1, "filename": "sprockets.mixins.metrics-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9c1acdd8f146286d33f59abd8f5cbbb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14669, "upload_time": "2016-01-29T15:23:14", "url": "https://files.pythonhosted.org/packages/b3/9a/5200cc10abb7148bed066db53184ea76b5cf893026e1385efa8dc5331b80/sprockets.mixins.metrics-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da06232634f91a2710120255975a037b", "sha256": "fc47e53d85c8d794eb5c29236866b94f01df15fa52815ae56f5550726f0f2f7f" }, "downloads": -1, "filename": "sprockets.mixins.metrics-0.9.0.tar.gz", "has_sig": false, "md5_digest": "da06232634f91a2710120255975a037b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15635, "upload_time": "2016-01-29T15:23:20", "url": "https://files.pythonhosted.org/packages/d3/03/c139c86947f91c383068759a713aac22f602800b78c10caf96a639050643/sprockets.mixins.metrics-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f35fcb43df4fbd310a619d043e4ec4bc", "sha256": "04f07663cd4a7d3ef9426a222a846f8916e708dad8c4758b11a8976e827c85dd" }, "downloads": -1, "filename": "sprockets.mixins.metrics-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f35fcb43df4fbd310a619d043e4ec4bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14791, "upload_time": "2016-02-01T15:22:22", "url": "https://files.pythonhosted.org/packages/89/65/eda5f9c6fc560c3a3535cfb4d60ce892285092a49f37bb9f7ced21c0e757/sprockets.mixins.metrics-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "eccbaa90c40d3b8b5457503180abc4cb", "sha256": "9407e16e01bc94199f29717b252c7ebbda31f08ebc902a80923bc7de480b7ca6" }, "downloads": -1, "filename": "sprockets.mixins.metrics-1.0.1.tar.gz", "has_sig": false, "md5_digest": "eccbaa90c40d3b8b5457503180abc4cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14941, "upload_time": "2016-02-01T20:04:38", "url": "https://files.pythonhosted.org/packages/01/14/68eb3d5f5d1009ef3306446a032b2461d0d5ed3975c6529dc6aa7d25d2d9/sprockets.mixins.metrics-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b0e0f4c15762e7f0097fabcd9dd2df58", "sha256": "58cab3ece9693eb41351ca34ffe61acfee16a74aaff7fe2431a0243033fa2a81" }, "downloads": -1, "filename": "sprockets.mixins.metrics-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b0e0f4c15762e7f0097fabcd9dd2df58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16615, "upload_time": "2016-03-09T18:20:51", "url": "https://files.pythonhosted.org/packages/f4/bc/a61ad07f0a5e2fe697366830b8658f60c9c877a7bd739c1e0cfb8788b128/sprockets.mixins.metrics-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "6f11b01d05848d3137e2a6febb48e32c", "sha256": "58680f7f89163d596527eefe7af4aee31ea10530e371ab101a10ee1412bb3810" }, "downloads": -1, "filename": "sprockets.mixins.metrics-1.1.1.tar.gz", "has_sig": false, "md5_digest": "6f11b01d05848d3137e2a6febb48e32c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16661, "upload_time": "2016-03-09T19:39:49", "url": "https://files.pythonhosted.org/packages/ab/db/18cc9553a784c1ed7bb14e29e22541cfb2e0f5c230a6e9e8821f5ef889ca/sprockets.mixins.metrics-1.1.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "bc9cfdaa3be711c678e4f06f44fe8e6e", "sha256": "ee8dd3e2aaae0f7d69263cc106e8e6f6d29632007ec2360c44647b93c5e21cb5" }, "downloads": -1, "filename": "sprockets.mixins.metrics-2.0.0.tar.gz", "has_sig": false, "md5_digest": "bc9cfdaa3be711c678e4f06f44fe8e6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18606, "upload_time": "2016-03-11T15:01:13", "url": "https://files.pythonhosted.org/packages/70/79/ea46474d83528077f4728dda3091133359d9eba6098a667129b7ecc53b78/sprockets.mixins.metrics-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0101e115a1fb108b2392af2683ab3514", "sha256": "a93c0bbb5f7350610d410aa06bf747c3eff5b1b1cd93f9b20aa72f39c5b37253" }, "downloads": -1, "filename": "sprockets.mixins.metrics-2.0.1.tar.gz", "has_sig": false, "md5_digest": "0101e115a1fb108b2392af2683ab3514", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18744, "upload_time": "2016-03-21T16:04:06", "url": "https://files.pythonhosted.org/packages/95/40/b1ddcf42d7af4d993a808e8176b0d2c07f420039b7bbdb12b8b45b95a176/sprockets.mixins.metrics-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "424c488215919f3b8f409be7f961843d", "sha256": "d75389a6d7710f3ee7f830afffe61026788b54ccbb986bdbc05124de6f177e0b" }, "downloads": -1, "filename": "sprockets.mixins.metrics-2.1.0.tar.gz", "has_sig": false, "md5_digest": "424c488215919f3b8f409be7f961843d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19469, "upload_time": "2016-08-09T17:56:13", "url": "https://files.pythonhosted.org/packages/a7/af/302a5f2aa4a95c75b68a3e547a8d7b83adb6ca9eaa707c950d9d30eb4fea/sprockets.mixins.metrics-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "4654fb6ad755d3ff4dcdee005ffff4c7", "sha256": "35570ccadfd373f1ae0f189231362d924abcf78172428559109051138dcc5353" }, "downloads": -1, "filename": "sprockets.mixins.metrics-2.1.1.tar.gz", "has_sig": false, "md5_digest": "4654fb6ad755d3ff4dcdee005ffff4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19647, "upload_time": "2016-08-09T19:40:45", "url": "https://files.pythonhosted.org/packages/96/d1/4ac00f9cd7cc03e927abb492631c1380bc19855d0389a64504228d25cd29/sprockets.mixins.metrics-2.1.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "8282b37d79f8f6fa0583e4b2b1f55878", "sha256": "ec9c3f8f6d89b4c7d6f22c063b2561cae9e2061a23ecf1ee517a672a9f97f040" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.0.0.tar.gz", "has_sig": false, "md5_digest": "8282b37d79f8f6fa0583e4b2b1f55878", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20448, "upload_time": "2016-12-12T20:33:14", "url": "https://files.pythonhosted.org/packages/57/29/2d85c410c63ad5850e0f0bdb6bb86f39c0931b034aa24526813dcbf22a6c/sprockets.mixins.metrics-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "66380cda682d05c8760e3b59905edae1", "sha256": "b2c1a94da3f77a89e8c1fb1b02b08c264cb5da336b102669583a9afa1172327d" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.0.1.tar.gz", "has_sig": false, "md5_digest": "66380cda682d05c8760e3b59905edae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20466, "upload_time": "2016-12-12T20:35:14", "url": "https://files.pythonhosted.org/packages/53/4c/bf034299e2e10c2498e3b10bb1db49f51ef57dabf86f7440e0cfad2eecdc/sprockets.mixins.metrics-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "75e42765e36d7f7b7b0fe64ee6a2a19c", "sha256": "a099a2773ce15200dde8a57c29176e1f9cf950329224a409074bb9b2f0cb108e" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.0.2.tar.gz", "has_sig": false, "md5_digest": "75e42765e36d7f7b7b0fe64ee6a2a19c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20516, "upload_time": "2016-12-12T20:27:06", "url": "https://files.pythonhosted.org/packages/d0/44/05bf09605937aeaac91eff7128ec89af7628fbab06693982128327085251/sprockets.mixins.metrics-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "01737d136ad96516b3fc2b3fba98f93c", "sha256": "5a96a3c3730a9735a5e716fc95d2bcb2a2682f560bdf2e2e2d7858e121f64f9c" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.0.3.tar.gz", "has_sig": false, "md5_digest": "01737d136ad96516b3fc2b3fba98f93c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20452, "upload_time": "2017-03-30T20:44:04", "url": "https://files.pythonhosted.org/packages/b4/d4/8598c2420c2de522462d98970eaee3414400e97acba75efe682a2163ffc7/sprockets.mixins.metrics-3.0.3.tar.gz" } ], "3.0.4": [ { "comment_text": "", "digests": { "md5": "3f358cb3d5e273e3f7bedacdfcfd4430", "sha256": "ece910979beca6473f30f1c448687ad5ceeaca6b9dd1952644e98c42fa7a1e75" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.0.4.tar.gz", "has_sig": false, "md5_digest": "3f358cb3d5e273e3f7bedacdfcfd4430", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20512, "upload_time": "2018-01-31T21:55:06", "url": "https://files.pythonhosted.org/packages/c8/b5/4d31f15d70fb9085ce737de199affe6dd98339bfac1a5c6096a135d52935/sprockets.mixins.metrics-3.0.4.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "78e8eda577c105a38bce19d0aee16e37", "sha256": "25457bea5c395905f4162bfc6123b1fb5a32a1d7858d3b8fb53f368f4453414b" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.1.0.tar.gz", "has_sig": false, "md5_digest": "78e8eda577c105a38bce19d0aee16e37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21637, "upload_time": "2018-07-20T14:35:13", "url": "https://files.pythonhosted.org/packages/2b/f3/851a42a0c7894450461815e27a4df2b320296b89997940028ad19a0538ee/sprockets.mixins.metrics-3.1.0.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "e06e3589444f5d20d2e592a421f8b4d2", "sha256": "e3a455bacb417b2b71471d75b5b06e10bdad9eb33a75b95c21eee3d8a8ca1388" }, "downloads": -1, "filename": "sprockets.mixins.metrics-3.1.1.tar.gz", "has_sig": false, "md5_digest": "e06e3589444f5d20d2e592a421f8b4d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23802, "upload_time": "2018-08-07T14:30:14", "url": "https://files.pythonhosted.org/packages/82/5d/f83f286c0808030119356cd3eb1ff3c105c9226fbb815fc1adf619e6dbfb/sprockets.mixins.metrics-3.1.1.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "a7ffce4254946aeeeb755591bca97f34", "sha256": "dd84e1ecc8aee0b2dd5a64eddcdffc5765923099bfaffea62bdea90b4430f2c4" }, "downloads": -1, "filename": "sprockets.mixins.metrics-4.0.0.tar.gz", "has_sig": false, "md5_digest": "a7ffce4254946aeeeb755591bca97f34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15725, "upload_time": "2019-02-06T15:17:12", "url": "https://files.pythonhosted.org/packages/7c/d1/b29aeef077725b4ad485543550a4ea6c717a1fef516a1512bbd3e9ad3f8f/sprockets.mixins.metrics-4.0.0.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "2e50e1867ad643f7fa51c2890e42d227", "sha256": "2e1a90f846fafb06f951b62bf7e398820bc7164235b71e1acae6deba7445bbae" }, "downloads": -1, "filename": "sprockets.mixins.metrics-4.1.0.tar.gz", "has_sig": false, "md5_digest": "2e50e1867ad643f7fa51c2890e42d227", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16350, "upload_time": "2019-09-04T10:48:42", "url": "https://files.pythonhosted.org/packages/09/e5/56f8e744eff8557d07029f438de113fdeeb15852a0db3114a772f5e6d0aa/sprockets.mixins.metrics-4.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2e50e1867ad643f7fa51c2890e42d227", "sha256": "2e1a90f846fafb06f951b62bf7e398820bc7164235b71e1acae6deba7445bbae" }, "downloads": -1, "filename": "sprockets.mixins.metrics-4.1.0.tar.gz", "has_sig": false, "md5_digest": "2e50e1867ad643f7fa51c2890e42d227", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16350, "upload_time": "2019-09-04T10:48:42", "url": "https://files.pythonhosted.org/packages/09/e5/56f8e744eff8557d07029f438de113fdeeb15852a0db3114a772f5e6d0aa/sprockets.mixins.metrics-4.1.0.tar.gz" } ] }