RPCORA / LOCAL-FIRST gRPC chain replay + Doctor evidence

调试 gRPC 链路,不用重建上下文

把服务发现、请求构造、Metadata/Auth、运行时变量和 Doctor 诊断放进同一条本地工作流。 登录拿到的 token、userId、traceId 会跟着链路走,不再靠复制粘贴维持上下文。

01 Reflection + Proto fallback 02 Runtime bindings 03 Redacted reports
RPCORA Request Body Composer
prod
Unary 127.0.0.1:50051 Send
Service Definition Metadata Auth TLS
Request Body Composer user.v1.GetUserRequest
4 / 4 valid
707172737475
user_idstring · required
user_123456 env.USER_ID
with_profilebool
true static
role_filteroneof · RoleSelector
admin_only oneof
trace_idstring · runtime
{{session.traceId}} chain
metadatamap<string,string>
+ 3 entries map
No errors Runtime values resolved 120ms · OK
macOS Windows Linux
gRPC Workbench

把 gRPC 调试变成一条可追踪的桌面工作流。

01
Schema

服务结构先进入工作台

Reflection、Proto 目录和 Git Proto 统一进入同一条发现路径,方法、类型和 streaming 标识在请求前确认。

Reflection + Proto
02
Context

鉴权和变量随请求流动

环境变量、Auth、Metadata、TLS 与运行时绑定在发送前解析,减少手动复制 token、userId 和 traceId。

Runtime bindings
03
Evidence

失败结果沉淀成证据

链路步骤、gRPC 状态、耗时、schema 来源和 Doctor 结论组成脱敏报告,便于交给研发继续定位。

Doctor report
Workflow

从发现服务到链路回放,RPCORA 保留每一步上下文。

单请求不是孤立动作。RPCORA 把 schema、Payload、Auth、Metadata、运行时变量和诊断结果串在一起, 让一次调试可以沉淀成下一次可复跑的路径。

Local workspace Unary chain replay Doctor evidence
RPCORA / run desk Reflection connected
01

Discover service

连接目标地址,读取 service、method、request 和 response 类型。

Reflection ready
02

Compose payload

在结构化 Request Body Composer 里处理必填字段、oneof、map 和数组。

6/6 fields
03

Bind runtime values

把上游响应、环境变量和 Metadata 绑定到下游请求。

token -> auth
04

Replay chain

按顺序执行已保存请求,定位失败步骤并生成 Doctor 结果。

120ms · OK
Request Body Composer Runtime values
01messageuser.v1.GetUserRequest
02user_idenv.USER_ID
03with_profiletrue
04trace_id{{session.traceId}}
05metadata+ 3 entries
No errors6/6 fields filled
Evidence

报告不是截图,是可以继续定位的运行证据。

失败时,RPCORA 把上下文解析、Doctor 检查和链路报告放在同一个证据面板里。 你能看到哪里失败、失败时带了什么上下文,以及下一步应该查什么。

Resolved Context

发送前看清变量解析结果

{{session.token}}、{{profile.user_id}}、traceId 等上下文在运行前就能校验。

Context ready
Doctor

把失败拆成可处理线索

地址、TLS、Metadata、Reflection、Proto fallback 和 gRPC status 分区展示。

4 checks passed
Report

脱敏报告直接用于协作排障

报告保留链路步骤、耗时、错误摘要和建议,避免敏感 token 泄露。

Redacted
Doctor Report redacted
step03 · profile.UserService/GetUser
schemaReflection · user.v1.GetUserRequest
metadataauthorization: Bearer ******
statusOK · 120ms
For Teams

给每天排查服务的人用。

后端开发

本地和内网服务联调

调通单个 gRPC 方法,保存可复用请求,复现登录后访问业务接口的完整上下文。

测试 / QA

稳定复跑关键业务路径

把登录、查询、创建、校验这类步骤固定成链路,失败后复制脱敏报告给研发。

平台 / 网关工程

排查 TLS、Metadata 与 schema 问题

快速区分是地址、证书、权限、Reflection、Proto 还是响应结构导致调用失败。

Why RPCORA

不是多一个请求面板,而是把 gRPC 调试上下文收进同一条路径。

RPCORA 面向真实服务联调:先看懂 schema,再跑通请求,然后把上下文、链路和诊断证据留在本地工作台里。

Protocol-aware

gRPC 调试先从 schema 开始

RPCORA 把 service、method、message 类型、Metadata、TLS 和状态码作为一等信息处理,避免把 gRPC 当成普通 URL 表单来调。

Context-aware

链路上下文不再靠人手搬运

登录、鉴权、userId、traceId 和环境变量可以在请求之间传递,单次调通后就能沉淀成可重复执行的业务路径。

Evidence-first

排障结果可以直接交付

Doctor 和链路报告围绕失败步骤、schema 来源、运行时变量、耗时和 gRPC 状态组织,方便研发、测试和平台团队继续定位。

Inputhost:port + schema
ResolveMetadata · Auth · TLS
Replaytoken -> userId -> traceId
ShareDoctor report · redacted
Use RPCORA When

当 gRPC 调试开始依赖上下文、链路和证据,RPCORA 的价值会更明显。

01

调试需要完整 gRPC 上下文

服务发现、Payload、Metadata、Auth、TLS、响应状态和链路变量都在同一个桌面工作台里。

02

一次调用要沉淀成可复跑链路

把已经跑通的请求保存成步骤,再把登录、鉴权、查询和校验串成稳定回放路径。

03

排障结果需要能交付给别人

Doctor 和链路报告用结构化证据说明失败位置、运行上下文和下一步处理方向。

Quickstart

Download RPCORA, run one gRPC method, then replay the chain.

第一次使用建议从最小路径开始:APIs 调通单请求,保存后进入 Chains 做两步回放。