经过一周多的鏖战, X-MSG-IM
的分布式信令跟踪能力已基本具备, 特点是:
-
实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口.
-
完备. 可以完整地回放整个业务流程.
-
代码零侵入.
下面以客户端在域内的附着流程为例进行演示说明. 此流程涉及到三个系统网元:
-
x-msg-ap
, 访问点. -
x-msg-im-hlr
, 用户归属位置. -
x-msg-im-auth
, 鉴权中心.
分为以下步骤:
-
客户端向
x-msg-ap
发起附着请求. -
x-msg-ap
向x-msg-im-hlr
透传此请求. -
x-msg-im-hlr
向x-msg-im-auth
询问此附着请求中的token等参数是否有效. -
x-msg-im-auth
向x-msg-im-hlr
回送附着结果. -
x-msg-im-hlr
向x-msg-ap
回送附着结果. -
x-msg-ap
向客户端透传附着结果,
信令跟踪在每个RX/TX
位置都有测点
, 也就是下图中的: A, B, C, D, E, F, G, H, I, J
. 每个测点上都抓取XSC协议从传输层到应用层每一个字节.
下面这张表则是上图10个测点的部分关键信息. 它们由一个trace-id
进行关联, 通过span-id
和parent-span-id
的继承关系组成了一个完整的RPC链.
detect point | timestamp(nano) | trace-id | span-id | parent-span-id | source network element | destination network element | pdu |
---|---|---|---|---|---|---|---|
A | 1571714778393000000 | 00fd4b376ab64e87 | 2267f44c65454cb9 | 0000000000000000 | 5c1acfd87a254463aa2cfa6bca8c7e94 | im.xmsg.dev5.cn.szap0$0000 | DEADBEEF |
B | 1571714778393000001 | 00fd4b376ab64e87 | 5b99e760169d41df | 2267f44c65454cb9 | im.xmsg.dev5.cn.szap0$0000 | im.xmsg.dev5.cn.szu0$0000 | DEADBEEF |
C | 1571714778393000002 | 00fd4b376ab64e87 | 6957f3c576af4d63 | 5b99e760169d41df | im.xmsg.dev5.cn.szap0$0000 | im.xmsg.dev5.cn.szu0$0000 | DEADBEEF |
D | 157171 |