jaeger-browser

This repo is to help you submit Jaeger traces from your browser. It is a workaround until a browser client is implemented.
It contains a Python package that runs a REST API which submits traces locally.
It also contains a TypeScript library that connects to this REST API.
If you want to use this alongside your Jupyter server, check out
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.
In turn, we use that to instrument plotting interactive Vega visualizations with a Python backend.
Limitations
- Doesn't implement full Jaeger API just a subset I needed. PRs welcome.
- Hard coded to connect to a local Jaeger server. PRs welcome.
- No sampling implemented, it will collect all traces. PRs welcome.
Usage
First get the REST server installed and started:
# install jaeger-all-in-one
conda -c conda-forge install jaeger
# Install the REST server
pip install jaeger_browser
# Start jaeger all in one
jaeger-all-in-one
# Start the REST server
env PORT=8080 jaeger-browser
Then install the client side library and connect to it:
yarn add jaeger-browser
import {Client} from 'jaeger-browser';
const client = new Client(new URL('http://localhost:8080/'))
async function doThings(originalExtractedScan: object): Promise<object> {
// Start a span based on some text-map encoded data
const span = await client.startSpanExtract({
name: 'new-span',
reference: originalExtractedScan,
relationship: 'child_of'
});
// create a new span under it
const newSpan = await client.startSpan({
name: 'other-span',
reference: span,
relationship: 'child_of'
})
// Finish this inner span
await client.finishSpan(newSpan);
// return the span we started text-map encoded
return await client.injectSpan(span);
}
Metadata
Release files for jaeger_browser 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jaeger_browser-1.0.1.tar.gz | 4.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jaeger_browser-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.4 kB
Release files / jaeger_browser-1.0.1.tar.gz
| Download URL | jaeger_browser-1.0.1.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75b019c8a3f66254fece0517ddae17064d1e14b90716270eac6039dd23af41d4
|
|
BLAKE2b-256 checksum How to use checksums |
f4dc76d789d1f3ab38dda369ad41242aa61cd139ebc94b89bc160e6474f1d057
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.21.0
|
Release files / jaeger_browser-1.0.1-py3-none-any.whl
| Download URL | jaeger_browser-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
176442772510bedb46e47a4db1a24429a406b612165d2db25fe18e7619182f4b
|
|
BLAKE2b-256 checksum How to use checksums |
669978e6692a0cc1b01821d2895fc182c4ed3c5b67c66d7a81918d2eab4add15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.21.0
|
Security for jaeger_browser 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.