8000 Rpc-client getExt() 和 Rpc-serve getExtKey() 不匹配 · Issue #1303 · swoft-cloud/swoft · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Rpc-client getExt() 和 Rpc-serve getExtKey() 不匹配 #1303
Closed
@JoeXiong

Description

@JoeXiong

/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的时候直接返回关联数组

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0