#observation #data #client #export #inspect #visualize #anywhere

observation-tools

从程序中的任何位置导出、可视化和检查数据

7个版本

0.0.12 2024年2月18日
0.0.11 2024年2月14日
0.0.5 2023年8月22日

7 in #anywhere

Download history 14/week @ 2024-03-10 1/week @ 2024-03-17 47/week @ 2024-03-31

121 monthly downloads

Apache-2.0

595KB
13K SLoC

observation-tools-client

Crates.io docs.rs npm (scoped)

从程序中的任何位置导出、可视化和检查数据。


lib.rs:

快速入门

Observation Tools 帮助您快速检查复杂数据,无需构建自己的可视化工具。

将 Observation Tools 集成到您的程序中大约需要 5 分钟。您需要

  1. 创建一个项目
  2. 安装客户端库
  3. 导出您的数据
  4. 可视化您的数据

组织您的数据

我们使用四个不同的概念来组织您的数据

  • 工件 是单个数据项,例如一个图像
  • 工件组 帮助组织工件,并可以定义工件如何一起可视化。
  • 运行 是顶级工件组。它们通常对应于一次程序执行或 HTTP 请求。
  • 项目 允许您定义跨运行使用的通用设置。

创建一个项目

所有上传到 Observation Tools 的数据都与项目相关联。项目有一个唯一的 ID,您将在下一步中使用它来初始化客户端。

要创建一个项目,请执行以下操作

  1. 登录到 仪表板
  2. 点击 "创建项目"

您应该在下一屏看到您项目的 ID。您也可以在 "设置" 页面上找到它。项目 ID 不是敏感信息,因此您可以将它们嵌入到源代码中。

安装客户端库

我们有针对几种不同语言的客户端库

语言 版本
Rust observation-tools Crates.io
JavaScript 实验性 @observation-tools/client npm(scoped)

没有看到您想要的编程语言?让我们知道!提交一个 功能请求给我们发邮件

使用以下命令安装 Rust 客户端

cargo add observation-tools

导出您的数据

要开始从您的程序中导出数据,我们需要为您的项目设置一个客户端并创建一个运行。之后,我们可以创建组来组织程序不同部分中的工件,并导出工件

use observation_tools_client::artifacts::Point2Builder;
use observation_tools_client::artifacts::Segment2Builder;
use observation_tools_client::Client;
use observation_tools_client::ClientOptions;
use observation_tools_client::TokenGenerator;

let client = Client::new(
    std::env::var("OBSERVATION_TOOLS_PROJECT_ID")?,
    ClientOptions::default(),
)?;

/// The name of the run will show up in the UI. You can optionally add key-value metadata to
/// all objects, see [`builders::UserMetadataBuilder::add_metadata`].
let run_uploader = client.create_run("getting-started-example")?;
/// ArtifactGroups are represented as "uploaders"
let uploader_2d = run_uploader.child_uploader_2d("shapes")?;
uploader_2d.create_object2(
    "segment2",
    Segment2Builder::new(Point2Builder::new(-1.0, 1.0), Point2Builder::new(1.0, -1.0)),
)?;

println!("See the output at: {}", run_uploader.viewer_url());

有关您可以上传的数据类型的更多信息,请参阅 artifacts 模块的文档。

可视化您的数据

要查看导出的数据,您可以在仪表板上找到运行实例,或者使用以下代码生成直接链接:groups::RunUploader::viewer_url

示例

更多示例,请查看存储库中的示例目录

依赖关系

~41–58MB
~836K SLoC