{
"info": {
"author": "merry-bits",
"author_email": "merry-bits@users.noreply.github.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Natural Language :: English",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Topic :: System :: Monitoring"
],
"description": "Owl\n===\n\n.. image:: https://api.travis-ci.org/merry-bits/Owl.svg?branch=master\n :target: https://travis-ci.org/merry-bits/Owl?branch=master\n\nMeasure how long your `Falcon `_ requests take and\nsend each measurement as an event to `Riemann `_.\n\n\nExample\n-------\n\nOwl is designed to be a mix-in class for API. To use Owl you create your own\nAPI class providing configuration parameters for Owl.\n\nIn Python 3 this could look something like this:\n\n.. code-block:: python\n\n from falcon.api import API\n from riemann_client.client import QueuedClient\n from owl import Owl\n\n class MonitoredAPI(Owl, API):\n\n def __init__(self, *args, **kwds):\n kwds[\"get_riemann_client\"] = lambda: QueuedClient()\n kwds[\"owl_service\"] = \"MyAPI\" # service name for Riemann\n super().__init__(*args, **kwds)\n\n api = MonitoredAPI()\n # api.add_route(...)\n # ...\n\nIn Riemann you get the end point and the request result status code as tags. To\nconvert them into their own `InfluxDB `_ tags (\n``endpoint` and ``status-code``) for later use (for example in\n`Grafana `_) you could do something like this in your\nRiemann InfluxDB configuration:\n\n.. code-block:: clojure\n\n (defn- parse-api-event\n [event]\n (if (contains? event :tags)\n (let [[endpoint status-code & other] (:tags event)]\n (assoc event\n :endpoint endpoint\n :status-code status-code))\n event))\n\n (let [index (index)]\n (streams index\n ; Write API monitoring to database\n (where (service \"MyAPI\")\n #(info (parse-api-event %))\n (comp api-db parse-api-event))))\n\nCheck out the ``event_builder`` parameter if you want to customize the event\nparameters (change what service means or add a description for example).\n\n\nInstallation\n============\n\n.. code-block:: bash\n\n $ pip install owl\n\n\nChangelog\n=========\n\n0.2.0\n-----\n\n - generate a message with status 500 when a request throws an exception",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/merry-bits/Owl",
"keywords": "flacon riemann monitoring measure request time end-point duration",
"license": "GPLv2",
"maintainer": "",
"maintainer_email": "",
"name": "Owl",
"package_url": "https://pypi.org/project/Owl/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/Owl/",
"project_urls": {
"Homepage": "https://github.com/merry-bits/Owl"
},
"release_url": "https://pypi.org/project/Owl/0.2.1/",
"requires_dist": [
"pytz",
"falcon (==1.0.0); extra == 'test'",
"mock (==1.3.0); extra == 'test'",
"nose (==1.3.7); extra == 'test'",
"riemann-client (==6.3.0); extra == 'test'"
],
"requires_python": "",
"summary": "Monitor Falcon with Riemann",
"version": "0.2.1"
},
"last_serial": 2131183,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "5a791108037cbec66391d09f66770ab6",
"sha256": "17ed5b3907ef0b4e4bc6bd2c3e0752f305a94c3d6a87e4fbac3a3032e6501103"
},
"downloads": -1,
"filename": "Owl-0.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "5a791108037cbec66391d09f66770ab6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7968,
"upload_time": "2016-02-10T11:22:58",
"url": "https://files.pythonhosted.org/packages/ca/ea/86434a7db75a632f6819636dec2badbf2c4a29ef769b226ff0d0d9b5dea4/Owl-0.0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "90802186f5d24ae8dfc49d1efec889e1",
"sha256": "be255f780f3d8cffceb0cbea874ee6caf5c89628cabb3720c84dc67fa8f29ebd"
},
"downloads": -1,
"filename": "Owl-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "90802186f5d24ae8dfc49d1efec889e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5735,
"upload_time": "2016-02-10T11:23:04",
"url": "https://files.pythonhosted.org/packages/14/9e/c7a9f1c81efa48324b32a62493306d6fb4fcd6ff7e092e10931cad2ed867/Owl-0.0.1.tar.gz"
}
],
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "296bb1e40c02ea0d3adb95373caca8f4",
"sha256": "f519e3bc977e430fbd0fa9e7e529420ac804ec3108c9d84d82339b22284bd88d"
},
"downloads": -1,
"filename": "Owl-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "296bb1e40c02ea0d3adb95373caca8f4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 8134,
"upload_time": "2016-03-07T19:26:38",
"url": "https://files.pythonhosted.org/packages/62/10/110f2e2f9c2b8e41f01eb009e6be34a89e64ae67f73ecec1b7524679447d/Owl-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e7dd24df82b4289311e2a5701a33b9fe",
"sha256": "eedb26a2e9d6e83d0ce8bc887ed263346db1d705073c3e24843a3c57b072e052"
},
"downloads": -1,
"filename": "Owl-0.1.0.tar.gz",
"has_sig": true,
"md5_digest": "e7dd24df82b4289311e2a5701a33b9fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5819,
"upload_time": "2016-03-07T19:27:06",
"url": "https://files.pythonhosted.org/packages/c8/70/14a10288703550746a8181a86d44ff488edaef4a159577a5d493897ecd14/Owl-0.1.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "03235e3695cc8a3b585084e03db7b584",
"sha256": "ad6b2d6a0375c12c4f0b9ebd943c2c4bf3a14dfcfa53de28b179f2bf8b8d9ef1"
},
"downloads": -1,
"filename": "Owl-0.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "03235e3695cc8a3b585084e03db7b584",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 8332,
"upload_time": "2016-05-24T14:25:03",
"url": "https://files.pythonhosted.org/packages/ac/bb/c9a09395add793fe4841ef40b1ee5cd64421bbed1657f7d046f496351ddb/Owl-0.2.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "838ca07b336ae5843e7534da0a1446cb",
"sha256": "5153396456dbb39562c095552448f5e49f5aaaa5cb3ddafb9bf6bd3ed30b00ad"
},
"downloads": -1,
"filename": "Owl-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "838ca07b336ae5843e7534da0a1446cb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5980,
"upload_time": "2016-05-24T14:25:35",
"url": "https://files.pythonhosted.org/packages/3f/04/dc007de1e3129e54d1a79fadf198eb07848c1d902321c0b6ca40461518bb/Owl-0.2.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "03235e3695cc8a3b585084e03db7b584",
"sha256": "ad6b2d6a0375c12c4f0b9ebd943c2c4bf3a14dfcfa53de28b179f2bf8b8d9ef1"
},
"downloads": -1,
"filename": "Owl-0.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "03235e3695cc8a3b585084e03db7b584",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 8332,
"upload_time": "2016-05-24T14:25:03",
"url": "https://files.pythonhosted.org/packages/ac/bb/c9a09395add793fe4841ef40b1ee5cd64421bbed1657f7d046f496351ddb/Owl-0.2.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "838ca07b336ae5843e7534da0a1446cb",
"sha256": "5153396456dbb39562c095552448f5e49f5aaaa5cb3ddafb9bf6bd3ed30b00ad"
},
"downloads": -1,
"filename": "Owl-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "838ca07b336ae5843e7534da0a1446cb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5980,
"upload_time": "2016-05-24T14:25:35",
"url": "https://files.pythonhosted.org/packages/3f/04/dc007de1e3129e54d1a79fadf198eb07848c1d902321c0b6ca40461518bb/Owl-0.2.1.tar.gz"
}
]
}