e2e遥测模块源码解析:PostHog事件与字段清单完全指南

发布时间:2026/10/8 18:17:26

e2e遥测模块源码解析:PostHog事件与字段清单完全指南 e2e遥测模块源码解析PostHog事件与字段清单完全指南【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2ee2e 是一款面向 Web 和移动端应用的下一代端到端测试框架其遥测telemetry模块在每次 CLI 调用时收集匿名使用数据并以PostHog 事件的形式批量上报。本文带你读完 packages/e2e/src/telemetry/ 下 9 个源文件整理出一份完整的PostHog 事件与字段清单并说明隐私保护机制与关闭方法。一、遥测模块的 9 个源文件各管什么整个模块围绕一个 CLI 调用 一个遥测实例设计每个文件职责清晰文件职责telemetry.tsTelemetry核心类事件排队、2 秒预算内一次性 flush、首次运行提示events.ts4 类事件的构造函数只产出计数、时长、版本与短 tokenposthog.ts传输层一次 POST 到 PostHog 批量端点失败静默、绝不重试environment.ts采集机器事实系统、架构、CI 厂商、编码智能体、运行时版本store.ts本地偏好文件~/.config/e2e/telemetry.json随机 ID、opt-out 开关project.ts项目匿名 IDgit 根提交的 SHA-256 哈希token.ts命名白名单非纯 token 的名称一律折叠为otherfailure-kind.ts失败消息 → 封闭清单分类rate-limit、timeout等 13 类checkout.ts源码检出判断从仓库源码运行 CLI 时完全不发送关键设计一句话遥测丢失无所谓遥测拖慢或搞挂命令才是 bug见 posthog.ts 头注释。所有事件在命令结束时打包成一个请求发出共享 2 秒超时telemetry.ts。二、4 类 PostHog 事件清单事件名常量集中定义在 events.ts1.e2e_cli_session— 每个命令一条字段含义command命令名run、init、list、telemetry…flags只传标志名--headed绝不传值exit_code/duration_ms退出码与耗时error_code命令未能运行就失败的错误码参数错误固定为CLI_USAGE2.e2e_run_completed— 每次run/explore一条这是字段最丰富的事件构造于 runCompletedEvent数据全部来自report.json的汇总数字测试统计tests_discovered、tests_passed、tests_failed、tests_flaky、tests_skipped、attempts_total等引擎画像targets、platforms、engines形如web0.6.1自定义引擎名也原样计入Agent 行为steps_total、steps_agent等按类型计数agent_actions用运行器自己的动作名统计如{tap: 12, typeText: 3}项目自定义工具合并计为tool模型用量model_gateway、model_provider、model_id、model_tokens、estimated_cost_usd只取首个模型步骤精调模型 ID 报为other错误画像error_codes去重后最多 20 个、primary_error_code、error_kinds如MODEL_PROVIDER_FAILED:rate-limit配置特征config_workers、config_cache_mode、config_agents等只有计数与布尔值探索专属explore_steps、explore_findings_by_severity等绝不含探索目标文字3.e2e_init_completed— 每次init一条记录resultscaffolded、cancelled、install-failed等 6 种结局、所选engine/gateway的选项 ID以及是否勾选 skill、MCP、依赖安装events.ts。4.e2e_mcp_session— 每个 MCP 会话一条e2e mcp是长驻服务因此会话结束即单独发一次客户端名claude-code、cursor-vscode、outcomeclosed/open-failed、ended_by、calls_total/calls_failed、按工具名的calls计数mcpSessionEvent。三、所有事件共用的字段每个事件还会叠加三层公共属性send身份刻意弱化distinct_id本地随机 IDCI 用ci:厂商平台代跑用fleet:名称project_idgit 根提交的哈希浅克隆与 git 外为nullsession_id、first_run、days_since_first_run机器事实collectEnvironmentos、arch、cpu_count、memory_gb、docker、wsl、tty、sandbox如firecracker、ci/ci_name识别 21 家 CI 厂商、coding_agent识别 Claude Code、Cursor、Codex 等编码智能体、runtime/node_version/package_manager/e2e_version隐私开关$process_person_profile: falsePostHog 不建人物画像$geoip_disable: true不做地理位置推断四、隐私保护的 4 道防线白名单折叠引擎名、平台名、模型 ID 只有符合短 token规则才原样上报路径、URL、句子一律变othertoken.ts封闭失败分类模糊错误码ENGINE_FAILURE等的消息只对照一张正则清单产出的 13 个类型名之一离开机器消息原文永不外发failure-kind.ts本地文件失败即关闭偏好文件写不了就视为 opt-out宁可不发也不发无法归属的事件store.ts永不发送清单测试标题、文件路径、URL、截图、错误消息、堆栈、环境变量值、凭据、探索目标与发现——官方逐条列在 docs/telemetry.mdx五、如何关闭与调试遥测任选其一即可关闭环境变量优先npx e2e telemetry disable # 保存到 ~/.config/e2e/telemetry.json export E2E_TELEMETRY_DISABLED1 export DO_NOT_TRACK1想亲眼看看本该发出去什么设E2E_TELEMETRY_DEBUG1后运行任意命令事件会以[telemetry] {...}打印到 stderr 且什么都不发送telemetry.ts。首次运行会打印一次性提示数据每次实质变更时NOTICE_VERSION递增让提示重新出现。六、总结e2e 的遥测模块用 9 个源文件实现了轻量、静默、可审计的匿名统计4 类 PostHog 事件session / run / init / mcp只携带计数、时长、版本与短 token2 秒超时、单请求、无重试保证命令体验零损耗而 opt-out 机制、白名单折叠和封闭失败分类让发送了什么始终可被源码与E2E_TELEMETRY_DEBUG双重验证。想深入了解建议对照 docs/telemetry.mdx 的官方字段表与本文的源码导读一起阅读。【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/8 18:17:26

Skills不是长Prompt:AI助手技能封装的原理与实战

上周有个同事拿着他刚调好的"AI 周报机器人"来找我,说模型动不动就把三条记录合并成一句废话,问我是不是 prompt 写得太短。我打开他所谓的 skill 看了一眼:没有目录结构,触发描述一团浆糊,所有逻辑全堆在提…

2026/10/8 18:12:26

基于JSP+Servlet+MySQL的蛋糕商城系统:架构拆解与部署避坑指南

简介:一套完整可运行的基于JSP的蛋糕商城系统项目包,面向JavaWeb初学者及课程设计/毕业设计人员,用于学习电商系统的前后端交互与部署流程。项目覆盖商品管理、分类管理、订单管理等核心模块,并配有SQL数据库脚本,包含…

2026/10/8 23:14:23

MES选型与落地避坑指南:工厂车间数字化如何起步

干了几年制造数字化项目,接触过不少MES相关的活儿,也聊过很多想上MES又迟迟不敢动手的工厂老板。这个领域有一个很有意思的现象:概念越来越热,但真正把MES用好、用活、用出账目效益的,比例并不高。有人把MES当成ERP的补…

2026/10/8 23:14:23

AI编程助手skills实战:从设计到落地的完整指南

1. 从"skills"这个热词说起:它到底在解决什么问题最近半年,不管是在技术社区还是开发者群里,"skills"这个词出现的频率高得离谱。你随便翻一下热搜词列表就能看到:claude code skills、codex skills、agent s…

2026/10/8 23:09:23

AI Agent记忆系统四层架构设计与工程实践

1. 一个被反复验证的残酷现实:上下文窗口扩容 ≠ Agent 记忆能力提升我第一次在生产环境里把 LLM 的上下文窗口从 4K 扩到 32K,满心以为终于能解决 Agent 的“健忘症”——结果上线三天,客户投诉激增:Agent 在处理多轮订单修改时&…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:02:17

自然数立方等于连续奇数之和:从证明到编程验证

十几年来我一直游走在数学科普和编程教学这两块内容之间,对“看起来像魔法、拆开全是数学”的结论总是格外敏感。最近翻资料时又撞见一句话:任何一个自然数 m 的立方,都可以写成 m 个连续奇数之和。2 的立方等于 3 加 5,3 的立方等…

2026/10/8 0:02:17

C#上位机SSH连接实战:用SSH.NET补齐超时、批量与密钥认证

简介:这是一份基于 C# 开发的 SSH 连接功能半成品工程,原本作为另一个主项目的子功能模块,现独立打包分享。工程采用 WinForms 界面,包含源码、解决方案、安装部署工程、NuGet 依赖包及说明文档,适合正在做远程连接、网…

2026/10/8 0:02:17

Java SpringBoot一体化智能售后系统设计与实现全解析

毕业设计年年做,Java Web 方向的题目翻来覆去就那么几个,但“一体化智能售后系统”这个题,每次看到我都觉得值得认真聊一聊。它不是一个简单 curd 堆出来的管理系统,而是把客户、工单、派单、处理、回访、统计整条链路串起来的一套…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑