{ "info": { "author": "Saul Shanabrook", "author_email": "saul@quansight.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License" ], "description": "# `jaeger-browser`
![PyPI](https://img.shields.io/pypi/v/jaeger_browser?style=flat-square) ![npm](https://img.shields.io/npm/v/jaeger-browser?style=flat-square)\n\n\nThis repo is to help you submit [Jaeger](https://www.jaegertracing.io/) traces from your browser. It is a workaround\nuntil [a browser client is implemented](https://github.com/jaegertracing/jaeger-client-node/issues/109).\n\n\nIt contains a Python package that runs a REST API which submits traces locally.\n\nIt also contains a TypeScript library that connects to this REST API.\n\n\nIf you want to use this alongside your Jupyter server, check out\n[`jupyter-jaeger`](https://github.com/Quansight/jupyter-jaeger). There is an example in that repo of starting a span in a kernel server side and then continueing it on the clien side.\n\nIn turn, we use that to instrument [plotting interactive Vega visualizations with a Python backend](https://github.com/quansight/ibis-vega-transform).\n\n## Limitations\n\n* Doesn't implement full Jaeger API just a subset I needed. PRs welcome.\n* Hard coded to connect to a local Jaeger server. PRs welcome.\n* No sampling implemented, it will collect all traces. PRs welcome.\n\n\n\n## Usage\n\nFirst get the REST server installed and started:\n\n```bash\n# install jaeger-all-in-one\nconda -c conda-forge install jaeger\n\n# Install the REST server\npip install jaeger_browser\n\n# Start jaeger all in one\njaeger-all-in-one\n# Start the REST server\nenv PORT=8080 jaeger-browser\n```\n\n\nThen install the client side library and connect to it:\n\n```bash\nyarn add jaeger-browser\n```\n\n```typescript\n\nimport {Client} from 'jaeger-browser';\n\n\nconst client = new Client(new URL('http://localhost:8080/'))\n\n\n\nasync function doThings(originalExtractedScan: object): Promise {\n // Start a span based on some text-map encoded data\n const span = await client.startSpanExtract({\n name: 'new-span',\n reference: originalExtractedScan,\n relationship: 'child_of'\n });\n // create a new span under it\n const newSpan = await client.startSpan({\n name: 'other-span',\n reference: span,\n relationship: 'child_of'\n })\n\n // Finish this inner span\n await client.finishSpan(newSpan);\n\n // return the span we started text-map encoded\n return await client.injectSpan(span);\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/Quansight/jaeger-browser", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "jaeger_browser", "package_url": "https://pypi.org/project/jaeger_browser/", "platform": "", "project_url": "https://pypi.org/project/jaeger_browser/", "project_urls": { "Homepage": "https://github.com/Quansight/jaeger-browser" }, "release_url": "https://pypi.org/project/jaeger_browser/1.0.1/", "requires_dist": [ "jaeger-client", "uvicorn", "starlette", "mypy-extensions", "typing_extensions" ], "requires_python": ">=3.6", "summary": "Python HTTP server to record traces from the browser.", "version": "1.0.1", "yanked": false, "yanked_reason": null }, "last_serial": 6156785, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "598a7e697d2eac80c0e4dfb8c966e65f", "sha256": "c0ca5744fd4ee78ca5ab3d5d420c64ea900052bf22247a5b0c02ca407ef8b0f4" }, "downloads": -1, "filename": "jaeger_browser-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "598a7e697d2eac80c0e4dfb8c966e65f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6515, "upload_time": "2019-10-25T00:29:22", "upload_time_iso_8601": "2019-10-25T00:29:22.217854Z", "url": "https://files.pythonhosted.org/packages/68/a4/dd0179078dd6c776e64d41bc703a35d461b12792310514dfe54c982c0054/jaeger_browser-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a3c268c93c91cc4f872e26e13601d3c4", "sha256": "d4b87c6beb9f5da60ca01ebfeb438425e724228bb388fefa1e7ff115d4222fdb" }, "downloads": -1, "filename": "jaeger_browser-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a3c268c93c91cc4f872e26e13601d3c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4653, "upload_time": "2019-10-25T00:29:24", "upload_time_iso_8601": "2019-10-25T00:29:24.433626Z", "url": "https://files.pythonhosted.org/packages/9d/b6/5342d6f51133308dccbe69f2df4f4a258c22313cd9ee612d733a44a298ff/jaeger_browser-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "b367ffb6f939e759f6880ed3d3a04bf8", "sha256": "176442772510bedb46e47a4db1a24429a406b612165d2db25fe18e7619182f4b" }, "downloads": -1, "filename": "jaeger_browser-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b367ffb6f939e759f6880ed3d3a04bf8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6622, "upload_time": "2019-11-18T16:17:38", "upload_time_iso_8601": "2019-11-18T16:17:38.329992Z", "url": "https://files.pythonhosted.org/packages/66/99/78e6692a0cc1b01821d2895fc182c4ed3c5b67c66d7a81918d2eab4add15/jaeger_browser-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "913b0bc37c3d17de568d5a1bc780bed3", "sha256": "75b019c8a3f66254fece0517ddae17064d1e14b90716270eac6039dd23af41d4" }, "downloads": -1, "filename": "jaeger_browser-1.0.1.tar.gz", "has_sig": false, "md5_digest": "913b0bc37c3d17de568d5a1bc780bed3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4757, "upload_time": "2019-11-18T16:17:39", "upload_time_iso_8601": "2019-11-18T16:17:39.911766Z", "url": "https://files.pythonhosted.org/packages/f4/dc/76d789d1f3ab38dda369ad41242aa61cd139ebc94b89bc160e6474f1d057/jaeger_browser-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b367ffb6f939e759f6880ed3d3a04bf8", "sha256": "176442772510bedb46e47a4db1a24429a406b612165d2db25fe18e7619182f4b" }, "downloads": -1, "filename": "jaeger_browser-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b367ffb6f939e759f6880ed3d3a04bf8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6622, "upload_time": "2019-11-18T16:17:38", "upload_time_iso_8601": "2019-11-18T16:17:38.329992Z", "url": "https://files.pythonhosted.org/packages/66/99/78e6692a0cc1b01821d2895fc182c4ed3c5b67c66d7a81918d2eab4add15/jaeger_browser-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "913b0bc37c3d17de568d5a1bc780bed3", "sha256": "75b019c8a3f66254fece0517ddae17064d1e14b90716270eac6039dd23af41d4" }, "downloads": -1, "filename": "jaeger_browser-1.0.1.tar.gz", "has_sig": false, "md5_digest": "913b0bc37c3d17de568d5a1bc780bed3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4757, "upload_time": "2019-11-18T16:17:39", "upload_time_iso_8601": "2019-11-18T16:17:39.911766Z", "url": "https://files.pythonhosted.org/packages/f4/dc/76d789d1f3ab38dda369ad41242aa61cd139ebc94b89bc160e6474f1d057/jaeger_browser-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }