Hi,
在 `MailboxProcessor#runMailboxLoop` 中分别计算 default mailbox actions(处理业务数据) 和 event mailbox actions(checkpoint 同步阶段、timer等) 的时间占比,假设分别为t1,t2,都介于[0,1]之间。
那么理论上 t1 + t2 + idle的占比 = 1;这样可以根据 t1, t2 的值来判断单个线程的 CPU 是否跑满了。
Best,
Hailong
在 2021-01-29 12:25:56,"13051111332" <
[hidden email]> 写道:
>
>
>Hi,everyone:
> 滴滴的一篇文档中提到:
>
>
> "我们一直希望能精确衡量任务的负载状况,使用反压指标指标只能粗略的判断任务的资源够或者不够。 结合新版的 Mailbox 线程模型,所有互斥操作全部运行在 TaskThread 中,只需统计出线程的占用时间,就可以精确计算任务负载的百分比。 未来可以使用指标进行任务的资源推荐,让任务负载维持在一个比较健康的水平”
> 关于统计出线程的占用时间,这个具体该怎么做呢?
>
>