songzhendong commented on PR #139: URL: https://github.com/apache/skywalking-nodejs/pull/139#issuecomment-4825903645
## Fixed in this update GRPCChannelManager boot-time connectivity: notify listeners of the current channel state in boot() (via notifyCurrentConnectivityState()), so CONNECTED is delivered when the shared channel is already READY at startup. ## Planned for a follow-up (later) Multi-address / stub target consistency: align client stub targets with GRPCChannelManager.resolveAddress() together with V2 work (multi-backend failover is out of V1 scope; DNS re-resolve is the higher-priority). ## No change planned for now 1. `watchConnectivityState(..., Infinity, ...)`: Infinity means no watch deadline in @grpc/grpc-js; a finite deadline would stop the watcher on timeout. 2. Meter metadata on every MeterData: Meter.proto specifies service / serviceInstance / timestamp on the first stream element only; the Java MeterSender does the same (hasSendMachineInfo). If we set them on every message instead: larger payloads with no OAP benefit, diverges from the Java agent and proto contract ## Test Added `tests/remote/GRPCChannelManager.test.ts`: ```typescript manager.addChannelListener(listener); manager.boot(); expect(listener.statusChanged).toHaveBeenCalledWith(GRPCChannelStatus.CONNECTED); npm run build npx jest tests/remote/GRPCChannelManager.test.ts --runInBand -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
