{
  "base_url": "https://talk.nervos.org",
  "generated_at": "2026-05-07T18:23:11.425430+00:00",
  "since": "2026-05-06T18:23:03.914415+00:00",
  "until": "2026-05-07T18:23:03.914415+00:00",
  "window_hours": 24,
  "topics": [
    {
      "topic_id": 10233,
      "title": "CKB Open Community Meeting” “CKB Open Q&A Session”",
      "slug": "ckb-open-community-meeting-ckb-open-q-a-session",
      "url": "https://talk.nervos.org/t/ckb-open-community-meeting-ckb-open-q-a-session/10233",
      "created_at": "2026-05-07T07:42:52.794000+00:00",
      "last_posted_at": "2026-05-07T18:01:13.974000+00:00",
      "category_id": 49,
      "tags": [
        "CKB"
      ],
      "posters": [
        "Original Poster",
        "Most Recent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24153,
          "post_number": 1,
          "topic_id": 10233,
          "topic_title": "CKB Open Community Meeting” “CKB Open Q&A Session”",
          "topic_slug": "ckb-open-community-meeting-ckb-open-q-a-session",
          "author": "ebdalezyz_aljhny",
          "created_at": "2026-05-07T07:42:52.842000+00:00",
          "updated_at": "2026-05-07T07:42:52.842000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/ckb-open-community-meeting-ckb-open-q-a-session/10233/1",
          "content_text": "I believe CKB needs to hold an open and direct discussion session, with a clear commitment to answering all questions honestly and transparently. There are many rumors and unanswered concerns circulating, yet there are no direct responses that clarify the situation for investors and the community.\nAmong the most important questions many investors have are:\nWhat is the real current state of CKB?\nAnd what are the actual challenges facing the project today?\nWhat is CKB’s future plan?\nIs there a clear roadmap with measurable and achievable goals?\nDoes CKB intend to build actual companies, products, and applications on top of the network, or will it remain focused only on building the base layer and leave everything else to the community?\nDid the Force Bridge hack truly damage the confidence of partners and investors?\nWere there any companies or projects that left because of that incident?\nDid Cipher Wang’s departure contribute to worsening some of the project’s issues, or weaken its leadership and media presence?\nCKB clearly suffers from a liquidity problem, and this is not something ordinary users can solve.\nSo what is the realistic plan to address this issue?\nAre there any efforts to secure partnerships, attract market makers, or bring institutional liquidity?\nIs CKB truly ready for the wave of AI Agents and smart payment systems, or is it still behind and at risk of missing the opportunity?\nThe marketing and media presence of CKB is extremely weak compared to other projects. In fact, its visibility is among the weakest of well-known blockchain networks.\nHow does CKB plan to solve this problem?\nIs there a real strategy to improve media presence and communication with the market?\nHow does CKB view real adoption?\nAre there clear goals to attract actual users, companies, and projects instead of focusing only on technical development?\nThese questions — and many others — deserve honest and transparent answers, because clarity and transparency are what build trust, especially for long-term projects.\nBest regards.",
          "content_html": "<p>I believe CKB needs to hold an open and direct discussion session, with a clear commitment to answering all questions honestly and transparently. There are many rumors and unanswered concerns circulating, yet there are no direct responses that clarify the situation for investors and the community.</p>\n<p>Among the most important questions many investors have are:</p>\n<ol>\n<li>\n<p>What is the real current state of CKB?<br>\nAnd what are the actual challenges facing the project today?</p>\n</li>\n<li>\n<p>What is CKB’s future plan?<br>\nIs there a clear roadmap with measurable and achievable goals?</p>\n</li>\n<li>\n<p>Does CKB intend to build actual companies, products, and applications on top of the network, or will it remain focused only on building the base layer and leave everything else to the community?</p>\n</li>\n<li>\n<p>Did the Force Bridge hack truly damage the confidence of partners and investors?<br>\nWere there any companies or projects that left because of that incident?</p>\n</li>\n<li>\n<p>Did Cipher Wang’s departure contribute to worsening some of the project’s issues, or weaken its leadership and media presence?</p>\n</li>\n<li>\n<p>CKB clearly suffers from a liquidity problem, and this is not something ordinary users can solve.<br>\nSo what is the realistic plan to address this issue?<br>\nAre there any efforts to secure partnerships, attract market makers, or bring institutional liquidity?</p>\n</li>\n<li>\n<p>Is CKB truly ready for the wave of AI Agents and smart payment systems, or is it still behind and at risk of missing the opportunity?</p>\n</li>\n<li>\n<p>The marketing and media presence of CKB is extremely weak compared to other projects. In fact, its visibility is among the weakest of well-known blockchain networks.<br>\nHow does CKB plan to solve this problem?<br>\nIs there a real strategy to improve media presence and communication with the market?</p>\n</li>\n<li>\n<p>How does CKB view real adoption?<br>\nAre there clear goals to attract actual users, companies, and projects instead of focusing only on technical development?</p>\n</li>\n</ol>\n<p>These questions — and many others — deserve honest and transparent answers, because clarity and transparency are what build trust, especially for long-term projects.</p>\n<p>Best regards.</p>",
          "like_count": 0,
          "quote_count": 0
        },
        {
          "post_id": 24159,
          "post_number": 2,
          "topic_id": 10233,
          "topic_title": "CKB Open Community Meeting” “CKB Open Q&A Session”",
          "topic_slug": "ckb-open-community-meeting-ckb-open-q-a-session",
          "author": "matt_ckb",
          "created_at": "2026-05-07T18:00:52.371000+00:00",
          "updated_at": "2026-05-07T18:05:03.561000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/ckb-open-community-meeting-ckb-open-q-a-session/10233/2",
          "content_text": "While you raise valid questions, interrogating people who work on the project is not a productive use of the forum.\nYour post on Reddit was noticed, your concerns will be covered in formal communications, closing this topic.",
          "content_html": "<p>While you raise valid questions, interrogating people who work on the project is not a productive use of the forum.</p>\n<p>Your post on Reddit was noticed, your concerns will be covered in formal communications, closing this topic.</p>",
          "like_count": 0,
          "quote_count": 0
        },
        {
          "post_id": 24160,
          "post_number": 3,
          "topic_id": 10233,
          "topic_title": "CKB Open Community Meeting” “CKB Open Q&A Session”",
          "topic_slug": "ckb-open-community-meeting-ckb-open-q-a-session",
          "author": "matt_ckb",
          "created_at": "2026-05-07T18:01:13.974000+00:00",
          "updated_at": "2026-05-07T18:01:13.974000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/ckb-open-community-meeting-ckb-open-q-a-session/10233/3",
          "content_text": "",
          "content_html": "",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    },
    {
      "topic_id": 10008,
      "title": "Spark Program | Ckb-probe: Deep Observability Tool for CKB Nodes Based on Aya Kernel eBPF/ckb-probe：基于 Aya 内核 eBPF 的 CKB 节点深度可观测性工具",
      "slug": "spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb",
      "url": "https://talk.nervos.org/t/spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb/10008",
      "created_at": "2026-02-26T07:25:51.446000+00:00",
      "last_posted_at": "2026-05-07T15:55:18.492000+00:00",
      "category_id": 49,
      "tags": [
        "In-Progress",
        "Spark-Program"
      ],
      "posters": [
        "Original Poster, Most Recent Poster",
        "Frequent Poster",
        "Frequent Poster",
        "Frequent Poster",
        "Frequent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24156,
          "post_number": 53,
          "topic_id": 10008,
          "topic_title": "Spark Program | Ckb-probe: Deep Observability Tool for CKB Nodes Based on Aya Kernel eBPF/ckb-probe：基于 Aya 内核 eBPF 的 CKB 节点深度可观测性工具",
          "topic_slug": "spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb",
          "author": "clair",
          "created_at": "2026-05-07T15:54:29.583000+00:00",
          "updated_at": "2026-05-07T15:59:17.976000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb/10008/53",
          "content_text": "ckb-probe 结项报告\n项目周期：2026-03-23 ~ 2026-05-07（8 周）\n作者：Clair\n预算：1,000 USD\n1. 项目概述\nckb-probe 是基于 eBPF 的 CKB 全节点深度可观测性工具。通过 uprobe/kprobe/tracepoint 等内核态探针，以零侵入方式实时捕获 CKB 测试网节点的 RocksDB 存储层、网络层和系统调用行为，提供延迟分布、异常检测、慢操作告警等运维洞察。\n核心特性：\n零代码修改：无需重编译 CKB，直接挂载到运行中的节点\n低开销：CPU 增量 <1.3%，RSS 稳定在 22.89 MB\n零事件丢失：48 小时测试中 20,034,457 个事件 0 丢失\n自动重连：CKB 重启后 1 秒内自动恢复探针\n技术栈： Rust + Aya（eBPF 框架）+ libbpf + RocksDB C API uprobe\n2. 交付物清单\n#\n交付物\n说明\n状态\nD-1\nckb-probe CLI v0.1.0\n3 个子命令：check / symbols / rocksdb\n完成\nD-2\nckb-probe-ebpf BPF 程序\n8 组 uprobe + 2 组 kprobe + 1 tracepoint = 21 个 BPF 程序\n完成\nD-3\nDocker 环境\n两阶段 Dockerfile，6 个 demo 脚本，性能/稳定性/案例分析脚本\n完成\nD-4\n48 小时稳定性测试\nS-1~S-4 全部 PASS\n完成\nD-5\n性能测试\nP-1~P-4 全部 PASS\n完成\nD-6\n案例分析\nIBD 写入模式 + compaction 风暴\n完成\nD-7\n双语文档\n6 对文档（EN/ZH）：架构、演示、快速开始、入门、技术深入、测试基础设施\n完成\nD-8\nCI/CD\nbuild + lint + 脚本检查 + 每周 CKB 兼容性检查\n完成\nD-1 子命令详情\n子命令\n功能\ncheck\n8 项环境检测 + eBPF 探针验证 + 3 秒实时事件采集\nsymbols\n三级 ELF 符号分类（20 Tier 1 / 21 Tier 2 / 12 Tier 3）\nrocksdb\n5 种操作（GET/PUT/WRITE/ITER_NEW/TXN_COMMIT），4 种输出模式（table/histogram/slow/JSON），EWMA 异常检测，S-4 自动重连\n3. 验收标准对照\n3.1 功能验收（F-1 ~ F-10）\n编号\n标准\n结果\n备注\nF-1\ncheck 报告内核/BTF/BPF/权限/CKB 并给出修复提示\nPASS\nF-2\nsymbols 生成 Tier 1/2/3 报告，含 RocksDB 链接检测\nPASS\nF-3\nrocksdb 输出 1 秒间隔表格\nPASS\nF-4\n追踪 5 种操作\nPASS\n偏差：ITER_NEW/TXN_COMMIT 替代 DELETE/ITER_SEEK（见 §7）\nF-5\n–slow --threshold 捕获超阈值操作\nPASS\nF-6\n–histogram 显示 log2 分布\nPASS\nF-7\nEWMA 异常检测触发\nPASS\n300 秒预热，case-2 中验证\nF-8\n–json 输出可被 jq 解析的有效 JSON\nPASS\nF-9\nSIGINT/SIGTERM 优雅退出，BPF 程序卸载\nPASS\nF-10\nCKB 退出后优雅处理 + 自动重连\nPASS\nS-4 验证\n3.2 性能验收（P-1 ~ P-4）\n编号\n指标\n预算\n实测值\n结果\nP-1\nCPU 增量\n≤3%\n+1.29%\nPASS\nP-2\nRSS 内存\n≤50 MB\n22.89 MB\nPASS\nP-3\n事件丢失率\n<0.1%\n0/20,034,457 = 0.0000%\nPASS\nP-4\n同步降级\n<1%\n-0.86%\nPASS\n3.3 稳定性验收（S-1 ~ S-4）\n编号\n指标\n预算\n实测值\n结果\nS-1\n48 小时无崩溃\n0 crash\n0 crash\nPASS\nS-2\nRSS 增长\n≤5 MB\n0.00 MB\nPASS\nS-3\nBPF dmesg 错误\n0\n0\nPASS\nS-4\nCKB 重启后重连\n<5s\n1s\nPASS\n4. 技术亮点\n4.1 三级符号分类体系\n对 CKB 二进制中的 ELF 符号进行三级分类，确定最稳定的探针挂载点：\nTier 1（RocksDB C API，extern \"C\"）：跨版本稳定，理想 uprobe 目标\nTier 2（Rust 跨 crate 公开函数）：hash 后缀每次编译不同，需模糊匹配\nTier 3（内联/LTO 消除）：release 构建中不可用\n4.2 EWMA 异常检测\n采用指数加权移动平均（EWMA）算法实时检测延迟异常。300 秒预热期建立基线后，当单次操作延迟超过 EWMA 均值 + 3 倍标准差时触发告警。在 case-2（compaction 风暴）中成功捕获异常。\n4.3 S-4 自动重连\n当 CKB 进程退出时，ckb-probe 优雅释放 BPF 资源并进入监听模式。检测到 CKB 重新启动后，在 1 秒内自动重新挂载所有探针，无需人工干预。\n4.4 零事件丢失架构\n使用 BPF ring buffer 替代 perf buffer，配合用户态高效轮询，在 48 小时/2000 万事件规模下实现 0 丢失。\n4.5 21 个 BPF 程序全覆盖\n类型\n数量\n覆盖范围\nuprobe/uretprobe\n8 对（16 个）\nRocksDB GET/PUT/WRITE/DELETE/ITER_NEW/ITER_SEEK/TXN_BEGIN/TXN_COMMIT\nkprobe/kretprobe\n2 对（4 个）\ntcp_sendmsg / tcp_recvmsg\ntracepoint\n1 个\nsys_enter（syscall 分布）\n5. 项目时间线\n周次\n日期\n工作内容\n里程碑\nWeek 1\n03-23 ~ 03-29\nCKB 架构调研 + Aya 学习 + 开发环境搭建\nWeek 2\n03-30 ~ 04-05\n符号侦察 → ckb-probe symbols\n里程碑 1（部分）\nWeek 3\n04-06 ~ 04-12\neBPF 可行性验证 → ckb-probe check\n里程碑 1 完成\nWeek 4\n04-13 ~ 04-19\nRocksDB 核心探针 + EWMA 异常检测\n里程碑 2（提前）\nWeek 5\n04-20 ~ 04-26\n性能优化 + Docker + S-4 + P-1~P-4 测试\nWeek 6\n04-27 ~ 05-03\n48h 稳定性测试 + 案例分析\nWeek 7\n05-04 ~ 05-06\nJSON 优化 + demo walkthrough 文档\nWeek 8\n05-07\n文档维护 + v0.1.0 发布 + 结项报告\n项目结束\n6. 代码统计\n模块\n行数\n说明\nckb-probe（用户态）\n3,115 行\nCLI 主程序、子命令、输出格式化\nckb-probe-common\n567 行\nBPF/用户态共享数据结构\nckb-probe-ebpf\n458 行\nBPF 内核态程序\nxtask\n47 行\n构建辅助\n总计\n~4,187 行 Rust\n7. 已知限制与未来计划\n7.1 已知限制\n#\n限制\n说明\nL-1\nP2P 网络层子命令缺失\neBPF 中已实现 kprobe 网络监控，但尚未提供专用 ckb-probe net 子命令\nL-2\n系统调用层子命令缺失\neBPF 中已实现 tracepoint，但尚未提供专用 ckb-probe syscall 子命令\nL-3\nTUI 仪表盘未实现\n原计划基于 ratatui，当前使用 CLI 表格输出替代\nL-4\nWeb5 DID/VC 功能未实现\n计划作为未来版本的可选功能\nL-5\nPrometheus exporter 未实现\n当前通过 --json 输出可对接外部监控系统\nL-6\nF-4 偏差\n追踪 ITER_NEW/TXN_COMMIT 替代 DELETE/ITER_SEEK。原因：CKB 不使用 rocksdb_delete；ITER_NEW 和 TXN_COMMIT 更能代表 CKB 的实际访问模式\nL-7\n演示视频替代\n以全面的 demo-walkthrough 文档（EN/ZH）替代演示视频\nL-8\n仅支持 CKB 测试网\n设计上仅面向测试网\n7.2 未来计划\nv0.2.0：ckb-probe net 子命令（P2P 连接数、消息大小分布）\nv0.2.0：ckb-probe syscall 子命令（系统调用热力图）\nv0.3.0：TUI 仪表盘（基于 ratatui）\nv0.3.0：Prometheus metrics exporter\nv0.4.0：Web5 DID/VC 可选功能\n8. 资金使用\n详见该帖内的解释\n9. 附录：文档索引\n文档\n中文\n英文\n代码架构\n中文\nEN\n快速开始\n中文\nEN\nDocker 快速开始\n中文\nEN\n技术深入\n中文\nEN\n测试基础设施\n中文\nEN\n演示 Walkthrough\n中文\nEN\n结项报告\n中文\nEN\nckb-probe v0.1.0 – 基于 eBPF 的 CKB 测试网全节点深度可观测性工具",
          "content_html": "<h1><a name=\"p-24156-ckb-probe-1\" class=\"anchor\" href=\"#p-24156-ckb-probe-1\" aria-label=\"Heading link\"></a>ckb-probe 结项报告</h1>\n<blockquote>\n<p>项目周期：2026-03-23 ~ 2026-05-07（8 周）<br>\n作者：Clair<br>\n预算：1,000 USD</p>\n</blockquote>\n<hr>\n<h2><a name=\"p-24156-h-1-2\" class=\"anchor\" href=\"#p-24156-h-1-2\" aria-label=\"Heading link\"></a>1. 项目概述</h2>\n<p>ckb-probe 是基于 eBPF 的 CKB 全节点深度可观测性工具。通过 uprobe/kprobe/tracepoint 等内核态探针，以零侵入方式实时捕获 CKB 测试网节点的 RocksDB 存储层、网络层和系统调用行为，提供延迟分布、异常检测、慢操作告警等运维洞察。</p>\n<p><strong>核心特性：</strong></p>\n<ul>\n<li>\n<p>零代码修改：无需重编译 CKB，直接挂载到运行中的节点</p>\n</li>\n<li>\n<p>低开销：CPU 增量 &lt;1.3%，RSS 稳定在 22.89 MB</p>\n</li>\n<li>\n<p>零事件丢失：48 小时测试中 20,034,457 个事件 0 丢失</p>\n</li>\n<li>\n<p>自动重连：CKB 重启后 1 秒内自动恢复探针</p>\n</li>\n</ul>\n<p><strong>技术栈：</strong> Rust + Aya（eBPF 框架）+ libbpf + RocksDB C API uprobe</p>\n<hr>\n<h2><a name=\"p-24156-h-2-3\" class=\"anchor\" href=\"#p-24156-h-2-3\" aria-label=\"Heading link\"></a>2. 交付物清单</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>#</th>\n<th>交付物</th>\n<th>说明</th>\n<th>状态</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>D-1</td>\n<td><strong>ckb-probe CLI v0.1.0</strong></td>\n<td>3 个子命令：check / symbols / rocksdb</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-2</td>\n<td><strong>ckb-probe-ebpf BPF 程序</strong></td>\n<td>8 组 uprobe + 2 组 kprobe + 1 tracepoint = 21 个 BPF 程序</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-3</td>\n<td><strong>Docker 环境</strong></td>\n<td>两阶段 Dockerfile，6 个 demo 脚本，性能/稳定性/案例分析脚本</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-4</td>\n<td><strong>48 小时稳定性测试</strong></td>\n<td>S-1~S-4 全部 PASS</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-5</td>\n<td><strong>性能测试</strong></td>\n<td>P-1~P-4 全部 PASS</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-6</td>\n<td><strong>案例分析</strong></td>\n<td>IBD 写入模式 + compaction 风暴</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-7</td>\n<td><strong>双语文档</strong></td>\n<td>6 对文档（EN/ZH）：架构、演示、快速开始、入门、技术深入、测试基础设施</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n<tr>\n<td>D-8</td>\n<td><strong>CI/CD</strong></td>\n<td>build + lint + 脚本检查 + 每周 CKB 兼容性检查</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 完成</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24156-d-1-4\" class=\"anchor\" href=\"#p-24156-d-1-4\" aria-label=\"Heading link\"></a>D-1 子命令详情</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>子命令</th>\n<th>功能</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>check</code></td>\n<td>8 项环境检测 + eBPF 探针验证 + 3 秒实时事件采集</td>\n</tr>\n<tr>\n<td><code>symbols</code></td>\n<td>三级 ELF 符号分类（20 Tier 1 / 21 Tier 2 / 12 Tier 3）</td>\n</tr>\n<tr>\n<td><code>rocksdb</code></td>\n<td>5 种操作（GET/PUT/WRITE/ITER_NEW/TXN_COMMIT），4 种输出模式（table/histogram/slow/JSON），EWMA 异常检测，S-4 自动重连</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24156-h-3-5\" class=\"anchor\" href=\"#p-24156-h-3-5\" aria-label=\"Heading link\"></a>3. 验收标准对照</h2>\n<h3><a name=\"p-24156-h-31-f-1-f-10-6\" class=\"anchor\" href=\"#p-24156-h-31-f-1-f-10-6\" aria-label=\"Heading link\"></a>3.1 功能验收（F-1 ~ F-10）</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>编号</th>\n<th>标准</th>\n<th>结果</th>\n<th>备注</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>F-1</td>\n<td>check 报告内核/BTF/BPF/权限/CKB 并给出修复提示</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-2</td>\n<td>symbols 生成 Tier 1/2/3 报告，含 RocksDB 链接检测</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-3</td>\n<td>rocksdb 输出 1 秒间隔表格</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-4</td>\n<td>追踪 5 种操作</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td>偏差：ITER_NEW/TXN_COMMIT 替代 DELETE/ITER_SEEK（见 §7）</td>\n</tr>\n<tr>\n<td>F-5</td>\n<td>–slow --threshold 捕获超阈值操作</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-6</td>\n<td>–histogram 显示 log2 分布</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-7</td>\n<td>EWMA 异常检测触发</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td>300 秒预热，case-2 中验证</td>\n</tr>\n<tr>\n<td>F-8</td>\n<td>–json 输出可被 jq 解析的有效 JSON</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-9</td>\n<td>SIGINT/SIGTERM 优雅退出，BPF 程序卸载</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td></td>\n</tr>\n<tr>\n<td>F-10</td>\n<td>CKB 退出后优雅处理 + 自动重连</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n<td>S-4 验证</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24156-h-32-p-1-p-4-7\" class=\"anchor\" href=\"#p-24156-h-32-p-1-p-4-7\" aria-label=\"Heading link\"></a>3.2 性能验收（P-1 ~ P-4）</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>编号</th>\n<th>指标</th>\n<th>预算</th>\n<th>实测值</th>\n<th>结果</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>P-1</td>\n<td>CPU 增量</td>\n<td>≤3%</td>\n<td>+1.29%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-2</td>\n<td>RSS 内存</td>\n<td>≤50 MB</td>\n<td>22.89 MB</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-3</td>\n<td>事件丢失率</td>\n<td>&lt;0.1%</td>\n<td>0/20,034,457 = 0.0000%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-4</td>\n<td>同步降级</td>\n<td>&lt;1%</td>\n<td>-0.86%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24156-h-33-s-1-s-4-8\" class=\"anchor\" href=\"#p-24156-h-33-s-1-s-4-8\" aria-label=\"Heading link\"></a>3.3 稳定性验收（S-1 ~ S-4）</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>编号</th>\n<th>指标</th>\n<th>预算</th>\n<th>实测值</th>\n<th>结果</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>S-1</td>\n<td>48 小时无崩溃</td>\n<td>0 crash</td>\n<td>0 crash</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>S-2</td>\n<td>RSS 增长</td>\n<td>≤5 MB</td>\n<td>0.00 MB</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>S-3</td>\n<td>BPF dmesg 错误</td>\n<td>0</td>\n<td>0</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>S-4</td>\n<td>CKB 重启后重连</td>\n<td>&lt;5s</td>\n<td>1s</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24156-h-4-9\" class=\"anchor\" href=\"#p-24156-h-4-9\" aria-label=\"Heading link\"></a>4. 技术亮点</h2>\n<h3><a name=\"p-24156-h-41-10\" class=\"anchor\" href=\"#p-24156-h-41-10\" aria-label=\"Heading link\"></a>4.1 三级符号分类体系</h3>\n<p>对 CKB 二进制中的 ELF 符号进行三级分类，确定最稳定的探针挂载点：</p>\n<ul>\n<li>\n<p><strong>Tier 1</strong>（RocksDB C API，<code>extern \"C\"</code>）：跨版本稳定，理想 uprobe 目标</p>\n</li>\n<li>\n<p><strong>Tier 2</strong>（Rust 跨 crate 公开函数）：hash 后缀每次编译不同，需模糊匹配</p>\n</li>\n<li>\n<p><strong>Tier 3</strong>（内联/LTO 消除）：release 构建中不可用</p>\n</li>\n</ul>\n<h3><a name=\"p-24156-h-42-ewma-11\" class=\"anchor\" href=\"#p-24156-h-42-ewma-11\" aria-label=\"Heading link\"></a>4.2 EWMA 异常检测</h3>\n<p>采用指数加权移动平均（EWMA）算法实时检测延迟异常。300 秒预热期建立基线后，当单次操作延迟超过 EWMA 均值 + 3 倍标准差时触发告警。在 case-2（compaction 风暴）中成功捕获异常。</p>\n<h3><a name=\"p-24156-h-43-s-4-12\" class=\"anchor\" href=\"#p-24156-h-43-s-4-12\" aria-label=\"Heading link\"></a>4.3 S-4 自动重连</h3>\n<p>当 CKB 进程退出时，ckb-probe 优雅释放 BPF 资源并进入监听模式。检测到 CKB 重新启动后，在 1 秒内自动重新挂载所有探针，无需人工干预。</p>\n<h3><a name=\"p-24156-h-44-13\" class=\"anchor\" href=\"#p-24156-h-44-13\" aria-label=\"Heading link\"></a>4.4 零事件丢失架构</h3>\n<p>使用 BPF ring buffer 替代 perf buffer，配合用户态高效轮询，在 48 小时/2000 万事件规模下实现 0 丢失。</p>\n<h3><a name=\"p-24156-h-45-21-bpf-14\" class=\"anchor\" href=\"#p-24156-h-45-21-bpf-14\" aria-label=\"Heading link\"></a>4.5 21 个 BPF 程序全覆盖</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>类型</th>\n<th>数量</th>\n<th>覆盖范围</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>uprobe/uretprobe</td>\n<td>8 对（16 个）</td>\n<td>RocksDB GET/PUT/WRITE/DELETE/ITER_NEW/ITER_SEEK/TXN_BEGIN/TXN_COMMIT</td>\n</tr>\n<tr>\n<td>kprobe/kretprobe</td>\n<td>2 对（4 个）</td>\n<td>tcp_sendmsg / tcp_recvmsg</td>\n</tr>\n<tr>\n<td>tracepoint</td>\n<td>1 个</td>\n<td>sys_enter（syscall 分布）</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24156-h-5-15\" class=\"anchor\" href=\"#p-24156-h-5-15\" aria-label=\"Heading link\"></a>5. 项目时间线</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>周次</th>\n<th>日期</th>\n<th>工作内容</th>\n<th>里程碑</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Week 1</td>\n<td>03-23 ~ 03-29</td>\n<td>CKB 架构调研 + Aya 学习 + 开发环境搭建</td>\n<td></td>\n</tr>\n<tr>\n<td>Week 2</td>\n<td>03-30 ~ 04-05</td>\n<td>符号侦察 → <code>ckb-probe symbols</code></td>\n<td>里程碑 1（部分）</td>\n</tr>\n<tr>\n<td>Week 3</td>\n<td>04-06 ~ 04-12</td>\n<td>eBPF 可行性验证 → <code>ckb-probe check</code></td>\n<td>里程碑 1 完成</td>\n</tr>\n<tr>\n<td>Week 4</td>\n<td>04-13 ~ 04-19</td>\n<td>RocksDB 核心探针 + EWMA 异常检测</td>\n<td>里程碑 2（提前）</td>\n</tr>\n<tr>\n<td>Week 5</td>\n<td>04-20 ~ 04-26</td>\n<td>性能优化 + Docker + S-4 + P-1~P-4 测试</td>\n<td></td>\n</tr>\n<tr>\n<td>Week 6</td>\n<td>04-27 ~ 05-03</td>\n<td>48h 稳定性测试 + 案例分析</td>\n<td></td>\n</tr>\n<tr>\n<td>Week 7</td>\n<td>05-04 ~ 05-06</td>\n<td>JSON 优化 + demo walkthrough 文档</td>\n<td></td>\n</tr>\n<tr>\n<td>Week 8</td>\n<td>05-07</td>\n<td>文档维护 + v0.1.0 发布 + 结项报告</td>\n<td>项目结束</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24156-h-6-16\" class=\"anchor\" href=\"#p-24156-h-6-16\" aria-label=\"Heading link\"></a>6. 代码统计</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>模块</th>\n<th>行数</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ckb-probe（用户态）</td>\n<td>3,115 行</td>\n<td>CLI 主程序、子命令、输出格式化</td>\n</tr>\n<tr>\n<td>ckb-probe-common</td>\n<td>567 行</td>\n<td>BPF/用户态共享数据结构</td>\n</tr>\n<tr>\n<td>ckb-probe-ebpf</td>\n<td>458 行</td>\n<td>BPF 内核态程序</td>\n</tr>\n<tr>\n<td>xtask</td>\n<td>47 行</td>\n<td>构建辅助</td>\n</tr>\n<tr>\n<td><strong>总计</strong></td>\n<td><strong>~4,187 行 Rust</strong></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24156-h-7-17\" class=\"anchor\" href=\"#p-24156-h-7-17\" aria-label=\"Heading link\"></a>7. 已知限制与未来计划</h2>\n<h3><a name=\"p-24156-h-71-18\" class=\"anchor\" href=\"#p-24156-h-71-18\" aria-label=\"Heading link\"></a>7.1 已知限制</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>#</th>\n<th>限制</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>L-1</td>\n<td>P2P 网络层子命令缺失</td>\n<td>eBPF 中已实现 kprobe 网络监控，但尚未提供专用 <code>ckb-probe net</code> 子命令</td>\n</tr>\n<tr>\n<td>L-2</td>\n<td>系统调用层子命令缺失</td>\n<td>eBPF 中已实现 tracepoint，但尚未提供专用 <code>ckb-probe syscall</code> 子命令</td>\n</tr>\n<tr>\n<td>L-3</td>\n<td>TUI 仪表盘未实现</td>\n<td>原计划基于 ratatui，当前使用 CLI 表格输出替代</td>\n</tr>\n<tr>\n<td>L-4</td>\n<td>Web5 DID/VC 功能未实现</td>\n<td>计划作为未来版本的可选功能</td>\n</tr>\n<tr>\n<td>L-5</td>\n<td>Prometheus exporter 未实现</td>\n<td>当前通过 --json 输出可对接外部监控系统</td>\n</tr>\n<tr>\n<td>L-6</td>\n<td>F-4 偏差</td>\n<td>追踪 ITER_NEW/TXN_COMMIT 替代 DELETE/ITER_SEEK。原因：CKB 不使用 rocksdb_delete；ITER_NEW 和 TXN_COMMIT 更能代表 CKB 的实际访问模式</td>\n</tr>\n<tr>\n<td>L-7</td>\n<td>演示视频替代</td>\n<td>以全面的 demo-walkthrough 文档（EN/ZH）替代演示视频</td>\n</tr>\n<tr>\n<td>L-8</td>\n<td>仅支持 CKB 测试网</td>\n<td>设计上仅面向测试网</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24156-h-72-19\" class=\"anchor\" href=\"#p-24156-h-72-19\" aria-label=\"Heading link\"></a>7.2 未来计划</h3>\n<ul>\n<li>\n<p><strong>v0.2.0</strong>：<code>ckb-probe net</code> 子命令（P2P 连接数、消息大小分布）</p>\n</li>\n<li>\n<p><strong>v0.2.0</strong>：<code>ckb-probe syscall</code> 子命令（系统调用热力图）</p>\n</li>\n<li>\n<p><strong>v0.3.0</strong>：TUI 仪表盘（基于 ratatui）</p>\n</li>\n<li>\n<p><strong>v0.3.0</strong>：Prometheus metrics exporter</p>\n</li>\n<li>\n<p><strong>v0.4.0</strong>：Web5 DID/VC 可选功能</p>\n</li>\n</ul>\n<hr>\n<h2><a name=\"p-24156-h-8-20\" class=\"anchor\" href=\"#p-24156-h-8-20\" aria-label=\"Heading link\"></a>8. 资金使用</h2>\n<p>详见该帖内的解释</p>\n<hr>\n<h2><a name=\"p-24156-h-9-21\" class=\"anchor\" href=\"#p-24156-h-9-21\" aria-label=\"Heading link\"></a>9. 附录：文档索引</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>文档</th>\n<th>中文</th>\n<th>英文</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>代码架构</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/code-architecture_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/code-architecture.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>快速开始</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/getting-started_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/getting-started_en.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>Docker 快速开始</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/docker-quickstart_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/docker-quickstart.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>技术深入</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/technical-deep-dive_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/technical-deep-dive_en.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>测试基础设施</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/test-infrastructure_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/test-infrastructure_en.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>演示 Walkthrough</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/demo-walkthrough_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/demo-walkthrough_en.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n<tr>\n<td>结项报告</td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/final-report_zh.md\" rel=\"noopener nofollow ugc\">中文</a></td>\n<td><a href=\"https://github.com/clairjoestar/ckb-probe/blob/v0.1.0/docs/final-report_en.md\" rel=\"noopener nofollow ugc\">EN</a></td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<p><em>ckb-probe v0.1.0 – 基于 eBPF 的 CKB 测试网全节点深度可观测性工具</em></p>",
          "like_count": 0,
          "quote_count": 0
        },
        {
          "post_id": 24157,
          "post_number": 54,
          "topic_id": 10008,
          "topic_title": "Spark Program | Ckb-probe: Deep Observability Tool for CKB Nodes Based on Aya Kernel eBPF/ckb-probe：基于 Aya 内核 eBPF 的 CKB 节点深度可观测性工具",
          "topic_slug": "spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb",
          "author": "clair",
          "created_at": "2026-05-07T15:55:18.492000+00:00",
          "updated_at": "2026-05-07T16:04:09.075000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/spark-program-ckb-probe-deep-observability-tool-for-ckb-nodes-based-on-aya-kernel-ebpf-ckb-probe-aya-ebpf-ckb/10008/54",
          "content_text": "ckb-probe 结项报告（Week 5-8）\n作者：Clair\n周期：2026-04-13 ~ 2026-05-07\n项目：ckb-probe — 基于 eBPF 的 CKB 全节点深度可观测性工具\n仓库：GitHub - clairjoestar/ckb-probe · GitHub\n许可证：MIT OR Apache-2.0\n范围：仅限 CKB 测试网\n一、项目总览\nckb-probe 是一个基于 eBPF（uprobe / kprobe / tracepoint）的 CKB 全节点深度可观测性工具，能够在不修改 CKB 源码、不重启节点的前提下，实时追踪 RocksDB 操作延迟、吞吐量和异常模式。\n本报告为第二次（最终）月度社区分享报告，覆盖 Week 5-8 的工作。第一次月度报告（中期报告）覆盖了 Week 2-4。\n二、里程碑完成状态\n里程碑\n原定时间\n实际完成\n状态\nM1：eBPF 可行性验证\nWeek 3\nWeek 3\n按期达成\nM2：rocksdb 子命令 + EWMA\nWeek 5\nWeek 4\n提前 1 周\nM3：完整发布 + 全部交付物\nWeek 8\nWeek 8\n按期达成\n三个里程碑全部达成。\n三、Week 5-8 各周进展\nWeek 5（Apr 13-19）：性能优化 + Docker 环境\n交付项\n说明\n内存优化\nRSS 87.9 MB → 21.9 MB（RingBuf 替代 PerfEventArray）\nDocker 环境\n两阶段 Dockerfile + 6 个演示脚本 + env-check.sh\nS-4 进程重启恢复\n自动检测 CKB 退出 + 轮询新 PID + 重连\nP-1~P-4 性能测试\n全部 PASS\nCI 流水线\nbuild + lint + script check + 每周 CKB 兼容检查\nWeek 6（Apr 20-26）：48h 稳定性测试 + 案例研究\n交付项\n说明\nS-1~S-4 稳定性测试\n全部 PASS（48h 连续运行，RSS +0.00 MB，1s 重连）\nCase 1：IBD 写入模式\n22 分钟，109.7 GET QPS，6 个 ITER_NEW 异常\nCase 2：压缩风暴捕获\nGET 延迟 35x 飙升，6,112 个慢操作，0 丢失\nWeek 7（Apr 27 - May 3）：JSON 优化 + 演示文档\n交付项\n说明\nJSON --histogram 融合\n--json --histogram 联用时 JSON 包含 log2 延迟分布\n演示说明文档\n五步演示流程 + 真实终端输出 + Docker 指南\nClippy 修复\nmanual_checked_ops 警告修复\nWeek 8（May 4-7）：文档定稿 + 发布\n交付项\n说明\n中英双语文档\n6 对文档全部更新至最新代码\n演示文档英文版\ndemo-walkthrough 英文版本\nv0.1.0 发布准备\ntag + release notes\n结项报告\n全部交付物整理\n四、性能测试结果\n双次全新 IBD 对比测试（Docker 容器内，CKB 测试网）：\n指标\n结果\n预算\n状态\nP-1 附加 CPU\n+1.29%（2h 综合）\n≤ 3%\nPASS\nP-2 常驻内存\n22.89 MB（稳定无增长）\n≤ 50 MB\nPASS\nP-3 事件丢失\n0 / 20,034,457 = 0.0000%\n< 0.1%\nPASS\nP-4 同步退化\n-0.86%（2h 综合）\n< 1%\nPASS\n四项性能指标全部 PASS。\n五、稳定性测试结果\n48 小时连续运行（CKB 测试网，16,693 个时序采样点）：\n指标\n结果\n说明\nS-1 无崩溃\nPASS\n48h 全程零 panic/SIGSEGV\nS-2 内存稳定\nPASS\nRSS 增长 0.00 MB（预算 5 MB）\nS-3 无 BPF 错误\nPASS\n48h 零 BPF 子系统错误\nS-4 重启恢复\nPASS\nCKB 重启后 1 秒重连\n资源使用\n指标\n最小值\n最大值\n均值\nP99\nProbe CPU%\n0.00\n0.38\n0.09\n0.29\nProbe RSS\n21.4 MB\n21.4 MB\n21.4 MB\n21.4 MB\n六、案例研究\nCase 1：IBD 写入模式分析\n项目\n值\n持续时间\n22 分钟\n同步区块\n197\nGET 平均 QPS\n109.7\n异常事件\n6（ITER_NEW P99 触发，compaction 争用）\nckb-probe 完整捕获了 IBD 从追赶到稳态的全过程，GET 为主导操作，写入负载较轻。\nCase 2：压缩风暴捕获\n项目\n值\n持续时间\n30 分钟\nGET 延迟飙升\n正常 ~200us → 平均 6,988us（35 倍）\n慢操作总数\n6,112（阈值 >1,000us）\nBPF 事件丢失\n0 / 6,112 = 0.0000%\n通过 aggressive RocksDB 参数注入压缩风暴，ckb-probe 成功捕获全部慢操作，零丢失。\n七、技术亮点\n7.1 内存优化：87.9 MB → 21.9 MB\n优化项\n修改前\n修改后\nSLOW_EVENTS 数据通道\nPerfEventArray（24 个 per-CPU ring buffer）\nRingBuf（全 CPU 共享 256KB）\nPerf buffer 大小\n1024 pages/CPU (4MB)\n16 pages/CPU (64KB)\nHashMap max_entries\n10240\n1024\n7.2 进程重启恢复（S-4）\nMonitoring PID 3310428 → CKB 停止\n⚠ Target process (PID 3310428) exited. Waiting for CKB to restart...\n✅ CKB restarted (new PID 673651). Reattaching probes...\n后台线程每秒检查 /proc/{pid}，CKB 退出后自动扫描同一 binary 的新进程，重新加载 BPF 程序并 reattach 所有 uprobe。\n7.3 Docker 可复现环境\n两阶段 Dockerfile：编译阶段 + 运行时阶段\n6 个演示脚本：demo-check / demo-table / demo-histogram / demo-slow / demo-normal / demo-stress\nenv-check.sh：6 项宿主机前置条件检查\n一条命令即可运行完整演示\n7.4 JSON --histogram 融合输出\n{\n\"operations\": {\n\"GET\": {\n\"qps\": 845,\n\"avg_us\": 24.97,\n\"p50_us\": 24.58,\n\"p99_us\": 98.30,\n\"bytes_per_sec\": 101976,\n\"histogram\": [\n{ \"ge_us\": 4.1, \"count\": 1528 },\n{ \"ge_us\": 16.38, \"count\": 727 }\n]\n}\n}\n}\n八、代码统计\n指标\n值\nRust 代码\n~4,187 行\n子命令\n3 个（check / symbols / rocksdb）\nBPF 程序\nuprobe / uretprobe / kprobe / tracepoint\n输出模式\n4 种（表格 / 直方图 / 慢操作 / JSON）\n文档\n6 对中英双语文档\n许可证\nMIT OR Apache-2.0\n九、交付物清单\n类别\n交付物\n核心工具\nckb-probe CLI（check / symbols / rocksdb）\neBPF 程序\nuprobe + uretprobe + kprobe + tracepoint\n异常检测\nEWMA 基线 + 三路触发 + 四项安全特性\nDocker\nDockerfile + 6 演示脚本 + env-check.sh\n性能验证\nP-1~P-4 全部 PASS\n稳定性验证\nS-1~S-4 全部 PASS（48h）\n案例研究\nIBD 写入模式 + 压缩风暴捕获\nCI\nbuild + lint + script check + CKB 兼容检查\n文档\n6 对中英双语文档 + 演示说明\n十、未来计划\nckb-probe v0.1.0 已覆盖 RocksDB 层的完整可观测性。后续版本计划扩展到更多维度：\n方向\n说明\nP2P 网络子命令\n通过 kprobe 追踪 CKB P2P 消息延迟和吞吐\nSyscall 子命令\ntracepoint 采集系统调用分布和延迟\nTUI 仪表盘\n基于 ratatui 的交互式终端界面\nPrometheus 导出器\n标准指标端点，对接 Grafana 可视化\n致谢\n感谢 CKB 社区和 Nervos 资助计划的支持。ckb-probe 的目标是为 CKB 测试网节点运维提供生产级的深度可观测性工具，帮助运维人员快速定位性能瓶颈和异常模式。\n欢迎试用和反馈：GitHub - clairjoestar/ckb-probe · GitHub",
          "content_html": "<h1><a name=\"p-24157-ckb-probe-week-5-8-1\" class=\"anchor\" href=\"#p-24157-ckb-probe-week-5-8-1\" aria-label=\"Heading link\"></a>ckb-probe 结项报告（Week 5-8）</h1>\n<blockquote>\n<p>作者：Clair<br>\n周期：2026-04-13 ~ 2026-05-07<br>\n项目：ckb-probe — 基于 eBPF 的 CKB 全节点深度可观测性工具<br>\n仓库：<a href=\"https://github.com/clairjoestar/ckb-probe\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">GitHub - clairjoestar/ckb-probe · GitHub</a><br>\n许可证：MIT OR Apache-2.0<br>\n范围：仅限 CKB 测试网</p>\n</blockquote>\n<hr>\n<h2><a name=\"p-24157-h-2\" class=\"anchor\" href=\"#p-24157-h-2\" aria-label=\"Heading link\"></a>一、项目总览</h2>\n<p>ckb-probe 是一个基于 eBPF（uprobe / kprobe / tracepoint）的 CKB 全节点深度可观测性工具，能够在不修改 CKB 源码、不重启节点的前提下，实时追踪 RocksDB 操作延迟、吞吐量和异常模式。</p>\n<p>本报告为第二次（最终）月度社区分享报告，覆盖 Week 5-8 的工作。第一次月度报告（中期报告）覆盖了 Week 2-4。</p>\n<hr>\n<h2><a name=\"p-24157-h-3\" class=\"anchor\" href=\"#p-24157-h-3\" aria-label=\"Heading link\"></a>二、里程碑完成状态</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>里程碑</th>\n<th>原定时间</th>\n<th>实际完成</th>\n<th>状态</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>M1：eBPF 可行性验证</td>\n<td>Week 3</td>\n<td>Week 3</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 按期达成</td>\n</tr>\n<tr>\n<td>M2：<code>rocksdb</code> 子命令 + EWMA</td>\n<td>Week 5</td>\n<td>Week 4</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 提前 1 周</td>\n</tr>\n<tr>\n<td>M3：完整发布 + 全部交付物</td>\n<td>Week 8</td>\n<td>Week 8</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> 按期达成</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>三个里程碑全部达成。</strong></p>\n<hr>\n<h2><a name=\"p-24157-week-5-8-4\" class=\"anchor\" href=\"#p-24157-week-5-8-4\" aria-label=\"Heading link\"></a>三、Week 5-8 各周进展</h2>\n<h3><a name=\"p-24157-week-5apr-13-19-docker-5\" class=\"anchor\" href=\"#p-24157-week-5apr-13-19-docker-5\" aria-label=\"Heading link\"></a>Week 5（Apr 13-19）：性能优化 + Docker 环境</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>交付项</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>内存优化</td>\n<td>RSS 87.9 MB → 21.9 MB（RingBuf 替代 PerfEventArray）</td>\n</tr>\n<tr>\n<td>Docker 环境</td>\n<td>两阶段 Dockerfile + 6 个演示脚本 + env-check.sh</td>\n</tr>\n<tr>\n<td>S-4 进程重启恢复</td>\n<td>自动检测 CKB 退出 + 轮询新 PID + 重连</td>\n</tr>\n<tr>\n<td>P-1~P-4 性能测试</td>\n<td>全部 PASS</td>\n</tr>\n<tr>\n<td>CI 流水线</td>\n<td>build + lint + script check + 每周 CKB 兼容检查</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24157-week-6apr-20-2648h-6\" class=\"anchor\" href=\"#p-24157-week-6apr-20-2648h-6\" aria-label=\"Heading link\"></a>Week 6（Apr 20-26）：48h 稳定性测试 + 案例研究</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>交付项</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>S-1~S-4 稳定性测试</td>\n<td>全部 PASS（48h 连续运行，RSS +0.00 MB，1s 重连）</td>\n</tr>\n<tr>\n<td>Case 1：IBD 写入模式</td>\n<td>22 分钟，109.7 GET QPS，6 个 ITER_NEW 异常</td>\n</tr>\n<tr>\n<td>Case 2：压缩风暴捕获</td>\n<td>GET 延迟 35x 飙升，6,112 个慢操作，0 丢失</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24157-week-7apr-27-may-3json-7\" class=\"anchor\" href=\"#p-24157-week-7apr-27-may-3json-7\" aria-label=\"Heading link\"></a>Week 7（Apr 27 - May 3）：JSON 优化 + 演示文档</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>交付项</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>JSON --histogram 融合</td>\n<td><code>--json --histogram</code> 联用时 JSON 包含 log2 延迟分布</td>\n</tr>\n<tr>\n<td>演示说明文档</td>\n<td>五步演示流程 + 真实终端输出 + Docker 指南</td>\n</tr>\n<tr>\n<td>Clippy 修复</td>\n<td><code>manual_checked_ops</code> 警告修复</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24157-week-8may-4-7-8\" class=\"anchor\" href=\"#p-24157-week-8may-4-7-8\" aria-label=\"Heading link\"></a>Week 8（May 4-7）：文档定稿 + 发布</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>交付项</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>中英双语文档</td>\n<td>6 对文档全部更新至最新代码</td>\n</tr>\n<tr>\n<td>演示文档英文版</td>\n<td>demo-walkthrough 英文版本</td>\n</tr>\n<tr>\n<td>v0.1.0 发布准备</td>\n<td>tag + release notes</td>\n</tr>\n<tr>\n<td>结项报告</td>\n<td>全部交付物整理</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24157-h-9\" class=\"anchor\" href=\"#p-24157-h-9\" aria-label=\"Heading link\"></a>四、性能测试结果</h2>\n<p>双次全新 IBD 对比测试（Docker 容器内，CKB 测试网）：</p>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>指标</th>\n<th>结果</th>\n<th>预算</th>\n<th>状态</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>P-1 附加 CPU</td>\n<td>+1.29%（2h 综合）</td>\n<td>≤ 3%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-2 常驻内存</td>\n<td>22.89 MB（稳定无增长）</td>\n<td>≤ 50 MB</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-3 事件丢失</td>\n<td>0 / 20,034,457 = 0.0000%</td>\n<td>&lt; 0.1%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n<tr>\n<td>P-4 同步退化</td>\n<td>-0.86%（2h 综合）</td>\n<td>&lt; 1%</td>\n<td><img src=\"https://talk.nervos.org/images/emoji/apple/white_check_mark.png?v=15\" title=\":white_check_mark:\" class=\"emoji\" alt=\":white_check_mark:\" loading=\"lazy\" width=\"20\" height=\"20\"> PASS</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>四项性能指标全部 PASS。</strong></p>\n<hr>\n<h2><a name=\"p-24157-h-10\" class=\"anchor\" href=\"#p-24157-h-10\" aria-label=\"Heading link\"></a>五、稳定性测试结果</h2>\n<p>48 小时连续运行（CKB 测试网，16,693 个时序采样点）：</p>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>指标</th>\n<th>结果</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>S-1 无崩溃</td>\n<td><strong>PASS</strong></td>\n<td>48h 全程零 panic/SIGSEGV</td>\n</tr>\n<tr>\n<td>S-2 内存稳定</td>\n<td><strong>PASS</strong></td>\n<td>RSS 增长 0.00 MB（预算 5 MB）</td>\n</tr>\n<tr>\n<td>S-3 无 BPF 错误</td>\n<td><strong>PASS</strong></td>\n<td>48h 零 BPF 子系统错误</td>\n</tr>\n<tr>\n<td>S-4 重启恢复</td>\n<td><strong>PASS</strong></td>\n<td>CKB 重启后 1 秒重连</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24157-h-11\" class=\"anchor\" href=\"#p-24157-h-11\" aria-label=\"Heading link\"></a>资源使用</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>指标</th>\n<th>最小值</th>\n<th>最大值</th>\n<th>均值</th>\n<th>P99</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Probe CPU%</td>\n<td>0.00</td>\n<td>0.38</td>\n<td>0.09</td>\n<td>0.29</td>\n</tr>\n<tr>\n<td>Probe RSS</td>\n<td>21.4 MB</td>\n<td>21.4 MB</td>\n<td>21.4 MB</td>\n<td>21.4 MB</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24157-h-12\" class=\"anchor\" href=\"#p-24157-h-12\" aria-label=\"Heading link\"></a>六、案例研究</h2>\n<h3><a name=\"p-24157-case-1ibd-13\" class=\"anchor\" href=\"#p-24157-case-1ibd-13\" aria-label=\"Heading link\"></a>Case 1：IBD 写入模式分析</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>项目</th>\n<th>值</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>持续时间</td>\n<td>22 分钟</td>\n</tr>\n<tr>\n<td>同步区块</td>\n<td>197</td>\n</tr>\n<tr>\n<td>GET 平均 QPS</td>\n<td>109.7</td>\n</tr>\n<tr>\n<td>异常事件</td>\n<td>6（ITER_NEW P99 触发，compaction 争用）</td>\n</tr>\n</tbody>\n</table>\n</div><p>ckb-probe 完整捕获了 IBD 从追赶到稳态的全过程，GET 为主导操作，写入负载较轻。</p>\n<h3><a name=\"p-24157-case-2-14\" class=\"anchor\" href=\"#p-24157-case-2-14\" aria-label=\"Heading link\"></a>Case 2：压缩风暴捕获</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>项目</th>\n<th>值</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>持续时间</td>\n<td>30 分钟</td>\n</tr>\n<tr>\n<td>GET 延迟飙升</td>\n<td>正常 ~200us → 平均 6,988us（<strong>35 倍</strong>）</td>\n</tr>\n<tr>\n<td>慢操作总数</td>\n<td>6,112（阈值 &gt;1,000us）</td>\n</tr>\n<tr>\n<td>BPF 事件丢失</td>\n<td>0 / 6,112 = 0.0000%</td>\n</tr>\n</tbody>\n</table>\n</div><p>通过 aggressive RocksDB 参数注入压缩风暴，ckb-probe 成功捕获全部慢操作，零丢失。</p>\n<hr>\n<h2><a name=\"p-24157-h-15\" class=\"anchor\" href=\"#p-24157-h-15\" aria-label=\"Heading link\"></a>七、技术亮点</h2>\n<h3><a name=\"p-24157-h-71-879-mb-219-mb-16\" class=\"anchor\" href=\"#p-24157-h-71-879-mb-219-mb-16\" aria-label=\"Heading link\"></a>7.1 内存优化：87.9 MB → 21.9 MB</h3>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>优化项</th>\n<th>修改前</th>\n<th>修改后</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SLOW_EVENTS 数据通道</td>\n<td>PerfEventArray（24 个 per-CPU ring buffer）</td>\n<td>RingBuf（全 CPU 共享 256KB）</td>\n</tr>\n<tr>\n<td>Perf buffer 大小</td>\n<td>1024 pages/CPU (4MB)</td>\n<td>16 pages/CPU (64KB)</td>\n</tr>\n<tr>\n<td>HashMap max_entries</td>\n<td>10240</td>\n<td>1024</td>\n</tr>\n</tbody>\n</table>\n</div><h3><a name=\"p-24157-h-72-s-4-17\" class=\"anchor\" href=\"#p-24157-h-72-s-4-17\" aria-label=\"Heading link\"></a>7.2 进程重启恢复（S-4）</h3>\n<pre><code class=\"lang-auto\">\nMonitoring PID 3310428 → CKB 停止\n\n⚠ Target process (PID 3310428) exited. Waiting for CKB to restart...\n\n✅ CKB restarted (new PID 673651). Reattaching probes...\n\n</code></pre>\n<p>后台线程每秒检查 <code>/proc/{pid}</code>，CKB 退出后自动扫描同一 binary 的新进程，重新加载 BPF 程序并 reattach 所有 uprobe。</p>\n<h3><a name=\"p-24157-h-73-docker-18\" class=\"anchor\" href=\"#p-24157-h-73-docker-18\" aria-label=\"Heading link\"></a>7.3 Docker 可复现环境</h3>\n<ul>\n<li>\n<p>两阶段 Dockerfile：编译阶段 + 运行时阶段</p>\n</li>\n<li>\n<p>6 个演示脚本：demo-check / demo-table / demo-histogram / demo-slow / demo-normal / demo-stress</p>\n</li>\n<li>\n<p>env-check.sh：6 项宿主机前置条件检查</p>\n</li>\n<li>\n<p>一条命令即可运行完整演示</p>\n</li>\n</ul>\n<h3><a name=\"p-24157-h-74-json-histogram-19\" class=\"anchor\" href=\"#p-24157-h-74-json-histogram-19\" aria-label=\"Heading link\"></a>7.4 JSON --histogram 融合输出</h3>\n<pre data-code-wrap=\"json\"><code class=\"lang-json\">\n{\n\n\"operations\": {\n\n\"GET\": {\n\n\"qps\": 845,\n\n\"avg_us\": 24.97,\n\n\"p50_us\": 24.58,\n\n\"p99_us\": 98.30,\n\n\"bytes_per_sec\": 101976,\n\n\"histogram\": [\n\n{ \"ge_us\": 4.1, \"count\": 1528 },\n\n{ \"ge_us\": 16.38, \"count\": 727 }\n\n]\n\n}\n\n}\n\n}\n\n</code></pre>\n<hr>\n<h2><a name=\"p-24157-h-20\" class=\"anchor\" href=\"#p-24157-h-20\" aria-label=\"Heading link\"></a>八、代码统计</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>指标</th>\n<th>值</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Rust 代码</td>\n<td>~4,187 行</td>\n</tr>\n<tr>\n<td>子命令</td>\n<td>3 个（check / symbols / rocksdb）</td>\n</tr>\n<tr>\n<td>BPF 程序</td>\n<td>uprobe / uretprobe / kprobe / tracepoint</td>\n</tr>\n<tr>\n<td>输出模式</td>\n<td>4 种（表格 / 直方图 / 慢操作 / JSON）</td>\n</tr>\n<tr>\n<td>文档</td>\n<td>6 对中英双语文档</td>\n</tr>\n<tr>\n<td>许可证</td>\n<td>MIT OR Apache-2.0</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24157-h-21\" class=\"anchor\" href=\"#p-24157-h-21\" aria-label=\"Heading link\"></a>九、交付物清单</h2>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>类别</th>\n<th>交付物</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>核心工具</td>\n<td><code>ckb-probe</code> CLI（check / symbols / rocksdb）</td>\n</tr>\n<tr>\n<td>eBPF 程序</td>\n<td>uprobe + uretprobe + kprobe + tracepoint</td>\n</tr>\n<tr>\n<td>异常检测</td>\n<td>EWMA 基线 + 三路触发 + 四项安全特性</td>\n</tr>\n<tr>\n<td>Docker</td>\n<td>Dockerfile + 6 演示脚本 + env-check.sh</td>\n</tr>\n<tr>\n<td>性能验证</td>\n<td>P-1~P-4 全部 PASS</td>\n</tr>\n<tr>\n<td>稳定性验证</td>\n<td>S-1~S-4 全部 PASS（48h）</td>\n</tr>\n<tr>\n<td>案例研究</td>\n<td>IBD 写入模式 + 压缩风暴捕获</td>\n</tr>\n<tr>\n<td>CI</td>\n<td>build + lint + script check + CKB 兼容检查</td>\n</tr>\n<tr>\n<td>文档</td>\n<td>6 对中英双语文档 + 演示说明</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24157-h-22\" class=\"anchor\" href=\"#p-24157-h-22\" aria-label=\"Heading link\"></a>十、未来计划</h2>\n<p>ckb-probe v0.1.0 已覆盖 RocksDB 层的完整可观测性。后续版本计划扩展到更多维度：</p>\n<div class=\"md-table\">\n<table>\n<thead>\n<tr>\n<th>方向</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>P2P 网络子命令</td>\n<td>通过 kprobe 追踪 CKB P2P 消息延迟和吞吐</td>\n</tr>\n<tr>\n<td>Syscall 子命令</td>\n<td>tracepoint 采集系统调用分布和延迟</td>\n</tr>\n<tr>\n<td>TUI 仪表盘</td>\n<td>基于 ratatui 的交互式终端界面</td>\n</tr>\n<tr>\n<td>Prometheus 导出器</td>\n<td>标准指标端点，对接 Grafana 可视化</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2><a name=\"p-24157-h-23\" class=\"anchor\" href=\"#p-24157-h-23\" aria-label=\"Heading link\"></a>致谢</h2>\n<p>感谢 CKB 社区和 Nervos 资助计划的支持。ckb-probe 的目标是为 CKB 测试网节点运维提供生产级的深度可观测性工具，帮助运维人员快速定位性能瓶颈和异常模式。</p>\n<p>欢迎试用和反馈：<a href=\"https://github.com/clairjoestar/ckb-probe\" class=\"inline-onebox\" rel=\"noopener nofollow ugc\">GitHub - clairjoestar/ckb-probe · GitHub</a></p>",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    },
    {
      "topic_id": 9995,
      "title": "Spark Program | Nervos Brain - A Global Developer Onboarding Engine and Cross-Language Hub Powered by Agentic RAG",
      "slug": "spark-program-nervos-brain-a-global-developer-onboarding-engine-and-cross-language-hub-powered-by-agentic-rag",
      "url": "https://talk.nervos.org/t/spark-program-nervos-brain-a-global-developer-onboarding-engine-and-cross-language-hub-powered-by-agentic-rag/9995",
      "created_at": "2026-02-25T09:58:43.726000+00:00",
      "last_posted_at": "2026-05-06T18:46:38.099000+00:00",
      "category_id": 49,
      "tags": [
        "In-Progress",
        "Spark-Program"
      ],
      "posters": [
        "Original Poster, Most Recent Poster",
        "Frequent Poster",
        "Frequent Poster",
        "Frequent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24152,
          "post_number": 35,
          "topic_id": 9995,
          "topic_title": "Spark Program | Nervos Brain - A Global Developer Onboarding Engine and Cross-Language Hub Powered by Agentic RAG",
          "topic_slug": "spark-program-nervos-brain-a-global-developer-onboarding-engine-and-cross-language-hub-powered-by-agentic-rag",
          "author": "IrisNeko",
          "created_at": "2026-05-06T18:46:38.099000+00:00",
          "updated_at": "2026-05-06T18:49:14.226000+00:00",
          "reply_to_post_number": 33,
          "url": "https://talk.nervos.org/t/spark-program-nervos-brain-a-global-developer-onboarding-engine-and-cross-language-hub-powered-by-agentic-rag/9995/35",
          "content_text": "Hi Spark Program Committee，\n感谢委员会一直以来的支持，也感谢各位持续 review 每周进展。\n根据第 8 周的项目进展，我想申请从已批准的 Nervos Brain Grant 剩余额度中拨付下一笔 $1,000 USDI installment。\n目前项目已经从离线开发、工具闭环和回归测试阶段，进入 Telegram 群内测、线上部署和真实用户反馈阶段。第 8 周的重点不再只是让 Bot “能回答”，而是验证它在真实群聊环境中是否能稳定、自然、可诊断地运行。\n进入真实 beta testing 阶段后，项目相比早期原型开发产生了更多持续成本，主要包括：\n最近几周在开发、调试、真实群测、bad case 分析、多轮回归测试和线上问题复现中的 LLM API 消耗；\nTelegram bot、RAG 检索后端、数据库和相关 runtime 持续在线运行所需的服务器与基础设施成本；\n为了改进 Agentic RAG 架构、检索质量、评测方法、Prompt/Graph 设计和线上稳定性，向外部 AI/LLM 专家进行技术咨询产生的费用；\n第 8–10 周持续进行线上问题修复、反馈整理、评测集扩充、CSAT/问卷设计、响应延迟优化、部署标准化和最终交付材料整理所投入的工程开发时间与实现成本。\n截至第 8 周，Nervos Brain 已经不只是一个本地原型，而是进入了真实 Telegram beta feedback loop。申请这笔 $1,000 USDI installment 将用于支持之前开发阶段的开销与剩余的 beta 测试、线上稳定性优化、专家咨询、LLM API 消耗、评估体系完善和最终交付工作。\n请将这笔 installment 发送到此前用于接收首笔启动资金的同一 CKB/JoyID 地址：\nckb1qrgqep8saj8agswr30pls73hra28ry8jlnlc3ejzh3dl2ju7xxpjxqgqqywl8cx055zewvgzjtw3w0zndmgr4ml5q5qhpdcd\n同时欢迎委员会的各位进入 Telegram 测试群参与内测。\nBest regards,\nIrisNeko",
          "content_html": "<p>Hi Spark Program Committee，</p>\n<p>感谢委员会一直以来的支持，也感谢各位持续 review 每周进展。</p>\n<p>根据第 8 周的项目进展，我想申请从已批准的 Nervos Brain Grant 剩余额度中拨付下一笔 <strong>$1,000 USDI installment</strong>。</p>\n<p>目前项目已经从离线开发、工具闭环和回归测试阶段，进入 Telegram 群内测、线上部署和真实用户反馈阶段。第 8 周的重点不再只是让 Bot “能回答”，而是验证它在真实群聊环境中是否能稳定、自然、可诊断地运行。</p>\n<p>进入真实 beta testing 阶段后，项目相比早期原型开发产生了更多持续成本，主要包括：</p>\n<ol>\n<li>最近几周在开发、调试、真实群测、bad case 分析、多轮回归测试和线上问题复现中的 LLM API 消耗；</li>\n<li>Telegram bot、RAG 检索后端、数据库和相关 runtime 持续在线运行所需的服务器与基础设施成本；</li>\n<li>为了改进 Agentic RAG 架构、检索质量、评测方法、Prompt/Graph 设计和线上稳定性，向外部 AI/LLM 专家进行技术咨询产生的费用；</li>\n<li>第 8–10 周持续进行线上问题修复、反馈整理、评测集扩充、CSAT/问卷设计、响应延迟优化、部署标准化和最终交付材料整理所投入的工程开发时间与实现成本。</li>\n</ol>\n<p>截至第 8 周，Nervos Brain 已经不只是一个本地原型，而是进入了真实 Telegram beta feedback loop。申请这笔 <strong>$1,000 USDI installment</strong> 将用于支持之前开发阶段的开销与剩余的 beta 测试、线上稳定性优化、专家咨询、LLM API 消耗、评估体系完善和最终交付工作。</p>\n<p>请将这笔 installment 发送到此前用于接收首笔启动资金的同一 CKB/JoyID 地址：</p>\n<p><code>ckb1qrgqep8saj8agswr30pls73hra28ry8jlnlc3ejzh3dl2ju7xxpjxqgqqywl8cx055zewvgzjtw3w0zndmgr4ml5q5qhpdcd</code></p>\n<p>同时欢迎委员会的各位进入 Telegram 测试群参与内测。</p>\n<p>Best regards,<br>\nIrisNeko</p>",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    }
  ]
}