有哪些适合查看或分析多线程日志的工具? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
abccba
V2EX    编程

有哪些适合查看或分析多线程日志的工具?

  •  
  •   abccba 2015-09-17 09:53:06 +08:00 3805 次点击
    这是一个创建于 3751 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面对一个大型多线程系统的日志文件(一般是 100M~2G 大小),有哪些工具适合查看、分析呢?

    因为并发度较高,各个线程的日志混在一块了,不容易分析。形如:

    <timestamp> <thread-id> <msg> 

    如上,可以看作一维(时间维度)的日志,同一个线程连续运行的日志可能被其它线程的日志给打断了,并发度高时,日志会非常混乱。
    有没有这种工具,可以达到类似如下效果:

    <timestamp1> <tid-1>___________________<msg>
    <timestamp2> <tid-1>___________________<msg>
    <timestamp3> ________<tid-2>___________<msg>
    <timestamp4> ________<tid-2>___________<msg>
    <timestamp5> _________________<tid-3>__<msg>
    <timestamp6> ________<tid-2>___________<msg>
    <timestamp7> <tid-1>___________________<msg>
    <timestamp8> <tid-1>___________________<msg>

    如上效果,可以比较清晰地展示出各个线程在不同时刻的运行状况以及相互关系(暂不考虑日志 IO 耗时对程序逻辑的微妙影响)。

    首先,系统会运行多个(百、千级别)且数量不定的线程数,单纯如上所述显示的方法,屏幕不够宽!
    其次,数据量较大时,如何高效地处理,也是一个蛋疼的问题,如果需要支持交互(例如临时屏蔽线程 tid=3 的日志),性能可能是瓶颈。

    以上只是我的一点看法、一个小的遐想,肯定还有不完善的地方,不知道大家有没有什么经验、工具可以分享,谢谢。

    3 条回复    2015-09-17 18:35:44 +08:00
    north521
        1
    north521  
       2015-09-17 11:25:37 +08:00
    log 配置的时候,输出线程名称或者 id
    grep 线程明或者 id log 文件 >thread1.log
    这样可以不
    goool
        2
    goool  
       2015-09-17 12:27:28 +08:00
    有时候需要另一个维度,去展示各种线程是怎样在同一个“任务”上合作的。

    怎样定义“任务”和“任务 id ”与你的程序功能有关。
    abccba
        3
    abccba  
    OP
       2015-09-17 18:35:44 +08:00
    @li24361

    主要是欠缺全局的视图,如“图” 2 所示, grep 不能反应在同一段时间内各个线程的状况。


    @goool
    是,所以我最后还说,有啥经验、工具都可以分享嘛。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3006 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:08 PVG 21:08 LAX 05:08 JFK 08:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86