跳转到内容
Docs

Event Schema

适用于schema 1.0

本页根据 packages/protocol/schema/envelope-v1.json 生成,请勿手工修改。

Schema 版本 1.0。Browser SDK 每次请求发送一个 Envelope。Envelope 必须包含 schema_version、sent_at、sdk、context、events,并携带 1–100 个 Event。

请求体。

字段 类型 必填 限制
schema_version string 是 固定为 1.0
sent_at date-time 是 —
sdk object 是 字段见下方
context object 是 字段见下方
events Event 数组 是 1–100 项;每一项是下面某一种 Event

是哪个 SDK 生成了这个 Envelope。

字段 类型 必填 限制
name string 是 1–64 个字符
version string 是 1–32 个字符

对 Envelope 里每个 Event 都适用的信息。

字段 类型 必填 限制
environment string 是 1–64 个字符
release string 否 最多 128 个字符
dist string 否 最多 64 个字符
session_id uuid 是 —
page_id uuid 是 —
anonymous_user_id string 是 1–128 个字符
user_id string 否 最多 128 个字符
page object 是 字段见下方
trace object 否 字段见下方
tags map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符
字段 类型 必填 限制
url uri 是 最多 2048 个字符
route string 否 最多 512 个字符
title string 否 最多 512 个字符
referrer uri 否 最多 2048 个字符
字段 类型 必填 限制
trace_id string 是 匹配 ^[a-f0-9]{32}$
span_id string 否 匹配 ^[a-f0-9]{16}$

events 里有 6 种 Event,用 type 区分。每个 Event 都带有下面的公共字段,每种再各自增加字段。

type 记录什么 增加的字段(必填的加粗)
page_view 一次页面访问或路由切换 navigation_type
error 捕获到的错误,包括堆栈和导致它的操作 error, fingerprint, breadcrumbs
web_vital 一项 Core Web Vitals 指标 metric
api 浏览器发出的一次请求 request
custom 项目自定义的业务 Event,带属性和度量 name, attributes, measurements
log 一条结构化的诊断日志 level, message, logger, attributes
字段 类型 必填 限制
event_id uuid 是 —
type string 是 取值:page_view、error、web_vital、api、custom、log
timestamp date-time 是 —
sample_rate number 否 > 0, ≤ 1

一次页面访问或路由切换。

字段 类型 必填 限制
navigation_type string 是 取值:navigate、reload、back_forward、prerender、route_change

捕获到的错误,包括堆栈和导致它的操作。

字段 类型 必填 限制
error object 是 字段见下方
fingerprint string 数组 否 最多 10 项;每一项 最多 128 个字符
breadcrumbs object 数组 否 最多 50 项;每一项的字段见下方
字段 类型 必填 限制
name string 是 1–128 个字符
message string 是 最多 2048 个字符
stack string 否 最多 65536 个字符
handled boolean 是 —
mechanism string 否 最多 64 个字符
字段 类型 必填 限制
timestamp date-time 是 —
category string 是 最多 64 个字符
message string 是 最多 512 个字符
level string 否 取值:debug、info、warning、error
data map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符

一项 Core Web Vitals 指标。

字段 类型 必填 限制
metric object 是 字段见下方
字段 类型 必填 限制
name string 是 取值:LCP、INP、CLS、FCP、TTFB
value number 是 ≥ 0
delta number 否 —
rating string 是 取值:good、needs-improvement、poor
navigation_type string 否 取值:navigate、reload、back_forward、prerender、route_change

浏览器发出的一次请求。

字段 类型 必填 限制
request object 是 字段见下方
字段 类型 必填 限制
method string 是 取值:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS
url uri 是 最多 2048 个字符
status integer 否 0–599
duration_ms number 是 0–3600000
transfer_size integer 否 ≥ 0
failure string 否 取值:network、timeout、abort、http
request_headers map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符
response_headers map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符
request_body string 否 最多 8192 个字符
response_body string 否 最多 8192 个字符

项目自定义的业务 Event,带属性和度量。

字段 类型 必填 限制
name string 是 1–80 个字符
attributes map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符
measurements map<string, number> 否 最多 20 项;键 1–64 个字符;值 数字

一条结构化的诊断日志。

字段 类型 必填 限制
level string 是 取值:trace、debug、info、warn、error、fatal
message string 是 1–4096 个字符
logger string 否 最多 80 个字符
attributes map<string, string> 否 最多 20 项;键 1–64 个字符;值 最多 512 个字符

边界和格式以权威 JSON Schema 为准;pnpm run protocol:check 会验证生成的 Go 校验代码。

Release Alpha · commit local