{ "info": { "author": "Maxim Kiyan , Zbigniew Siciarz ", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "emplocity-nameko-zipkin\n-------------\n\nZipkin tracing for nameko framework\n\nInstall\n-------\n\n```\npip install emplocity-nameko-zipkin\n```\n\nUsage\n-----\n\n#### Services\n\n```python\nfrom nameko_zipkin import Zipkin\nfrom nameko.rpc import rpc\n\n\nclass Service:\n name = 'service'\n zipkin = Zipkin() # Dependency provider injects py_zipkin.zipkin.zipkin_span object\n \n @rpc\n def method(self):\n assert self.zipkin.service_name == Service.name\n assert self.zipkin.span_name == Service.method.__name__\n```\n\n#### Standalone rpc\n\n```python\nfrom py_zipkin import zipkin\nfrom nameko_zipkin import monkey_patch\nfrom nameko_zipkin.transport import HttpHandler\nfrom nameko.standalone.rpc import ClusterRpcProxy\n\n\nhandler = HttpHandler('http://localhost:9411/api/v1/spans').handle\nmonkey_patch(handler)\n\nwith zipkin.zipkin_server_span('RootService',\n 'RootMethod',\n sample_rate=100.,\n transport_handler=handler):\n with ClusterRpcProxy({'AMQP_URI': \"pyamqp://guest:guest@localhost\"}) as proxy:\n proxy.service.method()\n```\n\nHow it works\n------------\n\n* monkey_patch patches MethodProxy class to initialize a client span, it's called in dependency provider setup method\n* On service method call a server span is created\n* Trace parameters (trace_id, parent_span_id, etc.) are passed through context data and are accessible in py_zipkin.thread_local.get_zipkin_attrs\n* If there are no parameters, request isn't traced\n* Child service calls are also supported\n* Trace results are reported through handler classes in nameko_zipkin.transport\n\n\nConfiguration\n-------------\n\nZIPKIN section must be added to nameko service config.yaml\n\n```yaml\nZIPKIN:\n HANDLER: HttpHandler\n HANDLER_PARAMS:\n url: http://localhost:9411/api/v1/spans\n```\n\nPlaned changes\n--------------\n\n* Trace initialization on trace attrs absence in context data\n* Kafka transport support\n* Custom handlers support in config.yaml ('my_module.MyHandler')", "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/Emplocity/nameko-zipkin", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "emplo-nameko-zipkin", "package_url": "https://pypi.org/project/emplo-nameko-zipkin/", "platform": "", "project_url": "https://pypi.org/project/emplo-nameko-zipkin/", "project_urls": { "Homepage": "https://github.com/Emplocity/nameko-zipkin" }, "release_url": "https://pypi.org/project/emplo-nameko-zipkin/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Zipkin tracing for nameko framework", "version": "0.1.7" }, "last_serial": 5366936, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "a74415f7c65199c0f67640afedfdbc85", "sha256": "88703646bccf0f0f05d063e2c7a3e375f4992d44cbd25f6f71b1bfb2f8476274" }, "downloads": -1, "filename": "emplo-nameko-zipkin-0.1.5.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "a74415f7c65199c0f67640afedfdbc85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6820, "upload_time": "2019-05-15T12:02:44", "url": "https://files.pythonhosted.org/packages/36/eb/a011a4b1d17d115bbbd126809d32e1db4ad09a47cd49f3d93c638de5e20f/emplo-nameko-zipkin-0.1.5.linux-x86_64.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "8cd54377cdea667b62987ae6b6d43398", "sha256": "8e3db8cb988d500ec219eab7b27dc2c9dde4d9de5644ff96953d2e49ee9298ed" }, "downloads": -1, "filename": "emplo-nameko-zipkin-0.1.6.tar.gz", "has_sig": false, "md5_digest": "8cd54377cdea667b62987ae6b6d43398", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3943, "upload_time": "2019-05-15T14:04:53", "url": "https://files.pythonhosted.org/packages/b3/47/725e0ce74f4cf36e2eb0269d72c7b98545f8c6b367e46c192b53ea54f6f3/emplo-nameko-zipkin-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "c8a757b4133568e993b2f16adddc7246", "sha256": "c1f6c63fa39870ea1a267e6920e7a8c93d10ec20df93603274bc0036d2054c62" }, "downloads": -1, "filename": "emplo-nameko-zipkin-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c8a757b4133568e993b2f16adddc7246", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3935, "upload_time": "2019-06-06T12:39:51", "url": "https://files.pythonhosted.org/packages/98/d3/3a0cff467d03fdbf639b20c04b4718eede648b47db71a50b4f902be2aba3/emplo-nameko-zipkin-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8a757b4133568e993b2f16adddc7246", "sha256": "c1f6c63fa39870ea1a267e6920e7a8c93d10ec20df93603274bc0036d2054c62" }, "downloads": -1, "filename": "emplo-nameko-zipkin-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c8a757b4133568e993b2f16adddc7246", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3935, "upload_time": "2019-06-06T12:39:51", "url": "https://files.pythonhosted.org/packages/98/d3/3a0cff467d03fdbf639b20c04b4718eede648b47db71a50b4f902be2aba3/emplo-nameko-zipkin-0.1.7.tar.gz" } ] }