这个过期条件怎么理解?
thesoundofsilent opened this issue · comments
if i > 2_0000 && i < linesBatchNum-2_0000 {
td.Status = common.TraceStatusSkip
}
这里不大理解:这里TraceStatusSkip的作用是什么?为什么可以在 i > 2_0000 && i < linesBatchNum-2_0000这个条件下设置?
作用是减少一点点对idToTrace并发读写, 大量减少dropIdQueue这个chan的并发读
按题目的意思trace信息第一行与最后一行不超过2w行.
按固定批的方式处理20w行数据 (20-2-2)/20 = 80%的行里面的trace_id是可以直接进行淘汰/同步,不用走dropIdQueue
建议看 opencensus-service 我只是针对题目加了同步,改了下处理
if etd.Status == common.TraceStatusSkip && etd.Wrong {
//r.traceSkip++
r.dropTrace(id, etd, "0")
continue
}
谢谢! 上面这个直接淘汰可以理解,但是后面这一句又有点奇怪
if td.Status == common.TraceStatusSkip {
//r.traceSkip++
r.dropTrace(id, td, "0")
continue
}
这里怎么把Skip的都drop掉了?
明白了,谢谢,非常有用