{ "info": { "author": "SignalFx, Inc.", "author_email": "info@signalfx.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "####################\nRequests OpenTracing\n####################\n\nThis package enables tracing http requests in a `Requests`_ ``Session`` via `The OpenTracing Project`_. \nOnce a production system contends with real concurrency or splits into many services, crucial (and\nformerly easy) tasks become difficult: user-facing latency optimization, root-cause analysis of backend\nerrors, communication about distinct pieces of a now-distributed system, etc. Distributed tracing\nfollows a request on its journey from inception to completion from mobile/browser all the way to the\nmicroservices. \n\nAs core services and libraries adopt OpenTracing, the application builder is no longer burdened with\nthe task of adding basic tracing instrumentation to their own code. In this way, developers can build\ntheir applications with the tools they prefer and benefit from built-in tracing instrumentation.\nOpenTracing implementations exist for major distributed tracing systems and can be bound or swapped\nwith a one-line configuration change.\n\nIf you want to learn more about the underlying Python API, visit the Python `source code`_.\n\n.. _Requests: http://docs.python-requests.org/en/master/\n.. _The OpenTracing Project: http://opentracing.io/\n.. _source code: https://github.com/signalfx/python-requests/\n\nInstallation\n============\n\nRun the following command:\n\n.. code-block:: \n\n $ pip install requests-opentracing\n\nUsage\n=====\n\nThe provided ``requests.Session`` subclass allows the tracing of http methods using the OpenTracing API.\nAll that it requires is for a ``SessionTracing`` instance to be initialized using an instance\nof an OpenTracing tracer and treated as a standard Requests session.\n\nInitialize\n----------\n\n``SessionTracing`` takes the ``Tracer`` instance that is supported by OpenTracing and an optional\ndictionary of desired tags for each created span. You can also specify whether you'd like your\ncurrent trace context to be propagated via http headers with your client request. To create a\n``SessionTracing`` object, you can either pass in a tracer object directly or default to the\n``opentracing.tracer`` global tracer that's set elsewhere in your application:\n\n.. code-block:: python\n\n from requests_opentracing import SessionTracing\n\n opentracing_tracer = # some OpenTracing tracer implementation\n traced_session = SessionTracing(opentracing_tracer, propagate=True, # propagation allows distributed tracing\n span_tags=dict(my_helpful='tag')) # in upstream services you control.\n resp = traced_session.get(my_url)\n\nor\n\n.. code-block:: python\n\n from requests_opentracing import SessionTracing\n import opentracing\n import requests\n\n opentracing.tracer = # some OpenTracing tracer implementation\n traced_session = SessionTracing() # default to opentracing.tracer\n\nFurther Information\n===================\n\nIf you're interested in learning more about the OpenTracing standard, please visit\n`opentracing.io`_ or `join the mailing list`_. If you would like to implement OpenTracing\nin your project and need help, feel free to send us a note at `community@opentracing.io`_.\n\n.. _opentracing.io: http://opentracing.io/\n.. _join the mailing list: http://opentracing.us13.list-manage.com/subscribe?u=180afe03860541dae59e84153&id=19117aa6cd\n.. _community@opentracing.io: community@opentracing.io", "description_content_type": "", "docs_url": null, "download_url": "http://github.com/signalfx/python-requests/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/signalfx/python-requests", "keywords": "", "license": "Apache Software License v2", "maintainer": "", "maintainer_email": "", "name": "Requests-OpenTracing", "package_url": "https://pypi.org/project/Requests-OpenTracing/", "platform": "any", "project_url": "https://pypi.org/project/Requests-OpenTracing/", "project_urls": { "Download": "http://github.com/signalfx/python-requests/tarball/master", "Homepage": "http://github.com/signalfx/python-requests" }, "release_url": "https://pypi.org/project/Requests-OpenTracing/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "OpenTracing support for Requests", "version": "0.0.1" }, "last_serial": 4596646, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5ccdcd1446220214969a567f17d4c35c", "sha256": "ab6c5d808f35e59f6754da54bee2fa8bde3c2bb2977ae94f050f7600d7bc4589" }, "downloads": -1, "filename": "Requests-OpenTracing-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5ccdcd1446220214969a567f17d4c35c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3960, "upload_time": "2018-12-13T20:08:40", "url": "https://files.pythonhosted.org/packages/52/e1/c0bb499056b249870454c728b42116179931a5481e3465c3469aef59eb74/Requests-OpenTracing-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5ccdcd1446220214969a567f17d4c35c", "sha256": "ab6c5d808f35e59f6754da54bee2fa8bde3c2bb2977ae94f050f7600d7bc4589" }, "downloads": -1, "filename": "Requests-OpenTracing-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5ccdcd1446220214969a567f17d4c35c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3960, "upload_time": "2018-12-13T20:08:40", "url": "https://files.pythonhosted.org/packages/52/e1/c0bb499056b249870454c728b42116179931a5481e3465c3469aef59eb74/Requests-OpenTracing-0.0.1.tar.gz" } ] }