Socket
Socket
Sign inDemoInstall

jaeger-browser

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jaeger-browser

A library for saving traces to jaeger


Version published
Weekly downloads
2
decreased by-71.43%
Maintainers
1
Weekly downloads
 
Created
Source

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

Keywords

FAQs

Package last updated on 25 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc