跳转到主要内容

A JupyterLab库,用于记录和监控使用数据

项目描述

jupyterlab_telemetry

Github Actions Status

A JupyterLab库,用于记录和监控使用数据

此扩展由一个名为jupyterlab_telemetry的Python包组成,用于服务器扩展,以及一个名为@jupyterlab/jupyterlab-telemetry的NPM包,用于前端库。

需求

  • JupyterLab >= 3.0

安装

要安装服务器扩展,执行

pip install jupyterlab_telemetry

要安装前端库,将"@jupyterlab/jupyterlab-telemetry": "^1.0.0"添加到package.json中的依赖项。

卸载

要删除服务器扩展,执行

pip uninstall jupyterlab_telemetry

要删除前端库,从package.json中的依赖项中删除"@jupyterlab/jupyterlab-telemetry": "^1.0.0"

故障排除

如果您已安装前端库,但无法连接到监控端点,请检查服务器扩展是否已启用

jupyter server extension list

用法

定义可以接收 EventLog 事件的处理器

import { EventLog } from '@jupyterlab/jupyterlab-telemetry';

function consoleHandler(el: EventLog, events: EventLog.RecordedEvent[]) {
  console.log(`[Handler1] Received events ${JSON.stringify(events)}`);
}

function consoleHandler2(el: EventLog, events: EventLog.RecordedEvent[]) {
  console.log(`[Handler2] Received events ${JSON.stringify(events)}`);
}

创建 EventLog 的实例,并从 EventLog.IOptions 配置处理器和其他选项

const el = new EventLog({
  handlers: [consoleHandler, consoleHandler2],
  allowedSchemas: [
    'org.jupyter.foo',
    'org.jupyterlab.commands.docmanager:open'
  ],
  commandRegistry: app.commands,
  commandEmitIntervalSeconds: 2
});

通过 recordEvents 接口发送自定义事件。如果传递了 commandRegistry 实例,则 EventLog 将订阅 JupyterLab 应用程序中执行的操作,并将白名单中的操作发送到每个配置的处理程序。

el.recordEvent({
  schema: 'org.jupyter.foo',
  version: 1,
  body: {
    foo: 'bar'
  }
});

使用后销毁事件日志

el.dispose();

贡献

开发安装

注意:您需要 NodeJS 来构建扩展包。

jlpm 命令是 JupyterLab 预装版本的 yarn,它是与 JupyterLab 一起安装的。您可以使用 yarnnpm 替代以下 jlpm

# Clone the repo to your local environment
git clone https://github.com/jupyterlab/jupyterlab-telemetry.git

# Change directory to the jupyterlab-telemetry directory
cd jupyterlab-telemetry

# Install package in development mode
pip install -e .

# Server extension must be manually installed in develop mode
jupyter server extension enable jupyterlab_telemetry

# Build the Typescript source after making changes
jlpm build

测试

服务器扩展具有 Python 测试,可以在推送新更改之前更新和测试。

# Install the test dependencies
pip install .[test]

# Run the tests
pytest

前端库使用 jest 进行测试,并在运行 test 目标时生成测试覆盖率。

# To run the tests with coverage
jlpm test

开发卸载

# Server extension must be manually disabled in develop mode
jupyter server extension disable jupyterlab_telemetry
pip uninstall jupyterlab_telemetry

打包扩展

参见 RELEASE

项目详情


下载文件

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

源代码分发

jupyterlab_telemetry-1.0.3.tar.gz (16.5 kB 查看散列)

上传时间

构建分发

jupyterlab_telemetry-1.0.3-py3-none-any.whl (6.7 kB 查看散列)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面