跳转到主要内容

Python HTTP服务器,用于从浏览器记录跟踪。

项目描述

jaeger-browser
PyPI npm

此存储库旨在帮助您从浏览器提交 Jaeger 跟踪。这是在实现浏览器客户端之前的一种权宜之计。

它包含一个Python包,该包运行REST API以提交本地跟踪。

它还包含一个TypeScript库,该库连接到此REST API。

如果您想将其与Jupyter服务器一起使用,请查看 jupyter-jaeger。该存储库中有一个示例,展示了在内核服务器端启动跨度,然后在客户端继续它。

我们反过来使用它来为具有Python后端的绘图交互式Vega可视化进行工具化。

限制

  • 没有实现完整的Jaeger API,只是我需要的子集。欢迎PR。
  • 硬编码为连接到本地Jaeger服务器。欢迎PR。
  • 未实现采样,它将收集所有跟踪。欢迎PR。

用法

首先获取并启动REST服务器

# 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

然后安装客户端库并连接到它

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

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装软件包的更多信息。

源分布

jaeger_browser-1.0.1.tar.gz (4.8 kB 查看哈希)

上传时间:

构建分布

jaeger_browser-1.0.1-py3-none-any.whl (6.6 kB 查看哈希值)

上传时间 Python 3

支持