jaeger-browser
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

jaeger-browser
PyPI npm

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);
}

Readme

Keywords

Package Sidebar

Install

npm i jaeger-browser

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

5.82 kB

Total Files

5

Last publish

Collaborators

  • saulshanabrook