-
Notifications
You must be signed in to change notification settings - Fork 173
回放结果的收集
Mingliang Tan edited this page Feb 15, 2019
·
1 revision
回放结果(ReplayedSession 对象)由以下部分构成
- CallFromInbound:入口的请求,直接在inbound产生
- ReturnInbound:最终的返回,直接在inbound收集
- AppendFile:在 sut 里被拦截到,用于查看错误日志和比对public.log
- SendUDP:在 sut 里被拦截到,用于知道apollo开关命中情况
- CallOutbound:在 outbound 里收集。不仅仅有请求,还包括请求是如何被匹配的,匹配程度是多少之类的。
所以在 inbound/sut/outbound 三个线程都会产生回放结果,需要多线程同步。实现方式是用一个 Go 的 buffered channel 进行搜集。最后在inbound 里统一把结果倒出来,然后 json.Marshal 之后用 http 返回给 midi。