ReviewOS

home-lang/home

Port gRPC Channelz observability contracts

#232
Closed chris opened this 10 days ago ·
10 days ago

Tracks copied Bun corpus position 3974 from #66: js/third_party/grpc-js/test-channelz.test.ts.

Acceptance criteria:

  • provide Channelz service definition/handlers and the generated nested Channelz client surface
  • assign stable channel, server, subchannel, and socket references and support detail/list queries
  • account for started/succeeded/failed calls, streams, and sent/received messages on both client and server sides
  • honor grpc.enable_channelz: 0 without affecting ordinary RPC operation
  • return cause-preserving, operation-framed errors for invalid or missing Channelz entities
  • lower only the file's type-only syntax, pass all five upstream checks, and pin it in the permanent third-party suite

Parent: #66

10 days ago

Completed in ef66dd7abc930f34b6d74eccbf2c0e4f0ca2b94f and pushed to main.

  • Added an in-memory Channelz registry with stable channel, server, subchannel, and client/server socket references plus generated nested Channelz client APIs.
  • Added lifecycle cleanup and call/stream/message accounting for successful and failed unary traffic on both sides.
  • Honored grpc.enable_channelz: 0 while retaining ordinary RPC behavior.
  • Added NOT_FOUND Channelz errors with preserved causes and operation/corpus stack frames, and avoided double-callback masking of consumer assertion failures.
  • Focused result: 5 passed, 0 todo, 0 failed, 0 unsupported; diagnostic, SQL, and permanent third-party suites pass.

Sign in to comment on this issue.