Closed
Description
/vendor/swoft/rpc-client/src/Extender.php
/**
* @return array
*/
public function getExt(): array
{
return [
context()->get('traceid', ''),
context()->get('spanid', ''),
context()->get('parentid', ''),
context()->get('extra', null),
];
}
/vendor/swoft/rpc-server/src/Listener/BeforeReceiveListener.
if (Log::getLogger()->isEnable()) {
$uri = sprintf('%s::%s::%s', $request->getVersion(), $request->getInterface(), $request->getMethod());
$data = [
'traceid' => $request->getExtKey('traceid', ''),
'spanid' => $request->getExtKey('spanid', ''),
'parentid' => $request->getExtKey('parentid', ''),
'uri' => $uri,
'requestTime' => $request->getRequestTime(),
];
$serviceContext->setMulti($data);
}
rpc-client getExt的时候获取ext数组是索引数组,key值是0,1,2,3...
而rpc-server getExtKey的时候是直接通过traceid去获取的,是获取不到值的
建议rpc-client getExt的时候直接返回关联数组