IT技术博客大学习 共学习 共进步

seq_trace集群消息链跟踪利器

Erlang非业余研究 2011-10-04 18:00:25 浏览 2,462 次
="bash plain">2},
                                                                                        'test@127.0.0.1'}]
SeqTrace {1317,576219,213409} [0]: ({<6584.60.0>,{global,z_p},'x@127.0.0.1'}) {<6585.60.0>,
                                            {global,y_p},
                                            'y@127.0.0.1'} ! {<6584.60.0>,
                                                              [1,1,3,5]} [Serial: {1,
                                                                                   2}]
SeqTrace {1317,576219,213601} [0]: ({<6585.60.0>,{global,y_p},'y@127.0.0.1'}) << {<6584.60.0>,[1,1,3,5]} [Serial: {1,
                                                                                2}, From: {<6584.60.0>,
                                                                                           {global,
                                                                                            z_p},
                                                                                           'x@127.0.0.1'}]
SeqTrace {1317,576219,213640} [0]: ({<6585.60.0>,{global,y_p},'y@127.0.0.1'}) {<6586.60.0>,
                                            {global,x_p},
                                            'z@127.0.0.1'} ! {<6585.60.0>,
                                                              [3,5,1]} [Serial: {2,
                                                                                 3}]
SeqTrace {1317,576219,213814} [0]: ({<6586.60.0>,{global,x_p},'z@127.0.0.1'}) << {<6585.60.0>,[3,5,1]} [Serial: {2,
                                                                              3}, From: {<6585.60.0>,
                                                                                         {global,
                                                                                          y_p},
                                                                                         'y@127.0.0.1'}]
SeqTrace {1317,576219,213825} [0]: ({<6586.60.0>,{global,x_p},'z@127.0.0.1'}) {<6585.60.0>,
                                            {global,y_p},
                                            'y@127.0.0.1'} ! {<6586.60.0>,
                                                              [6,10,2]} [Serial: {3,
                                                                                  4}]
SeqTrace {1317,576219,213929} [0]: ({<6585.60.0>,{global,y_p},'y@127.0.0.1'}) << {<6586.60.0>,[6,10,2]} [Serial: {3,
                                                                               4}, From: {<6586.60.0>,
                                                                                          {global,
                                                                                           x_p},
                                                                                          'z@127.0.0.1'}]
SeqTrace {1317,576219,213935} [0]: ({<6585.60.0>,{global,y_p},'y@127.0.0.1'}) {<6584.60.0>,
                                            {global,z_p},
                                            'x@127.0.0.1'} ! {<6585.60.0>,
                                                              [6,10,2]} [Serial: {4,
                                                                                  5}]
SeqTrace {1317,576219,214054} [0]: ({<6584.60.0>,{global,z_p},'x@127.0.0.1'}) << {<6585.60.0>,[6,10,2]} [Serial: {4,
                                                                               5}, From: {<6585.60.0>,
                                                                                          {global,
                                                                                           y_p},
                                                                                          'y@127.0.0.1'}]
SeqTrace {1317,576219,214062} [0]: ({<6584.60.0>,{global,z_p},'x@127.0.0.1'}) {<0.37.0>,
                                            {erlang,apply,2},
                                            'test@127.0.0.1'} ! {<6584.60.0>,
                                                                 18} [Serial: {5,
                                                                               6}]
SeqTrace {1317,576219,214241} [0]: ({<0.37.0>,{erlang,apply,2},'test@127.0.0.1'}) << {<6584.60.0>,18} [Serial: {5,
                                                                             6}, From: {<6584.60.0>,
                                                                                        {global,
                                                                                         z_p},
                                                                                        'x@127.0.0.1'}]
ok
(test@127.0.0.1)11>

透过消息交互的文本,我们可以看到消息在流动,整个过程都在掌握中,如果哪个环节出问题,也一目了然。

我们还可以用图形方式显示路径,神奇的et可以帮忙,et可以参考这里

演示下这个功能:

(test@127.0.0.1)12> ttb:format("ttb_upload-20111003-012347",[{handler,et}]).

图形化得路径看起来就更清楚了:

结论: seq_trace+ttb在跟踪消息方面真是无敌!

祝大家玩得开心!

建议继续学习

  1. HBase技术介绍 (阅读 7,943)
  2. 解析Google集群资源管理系统Omega (阅读 5,743)
  3. 快速构建实时抓取集群 (阅读 5,084)
  4. Hadoop集群间Hadoop方案探讨 (阅读 4,443)
  5. “集群和负载均衡”的通俗版解释 (阅读 4,405)
  6. storm集群的监控 (阅读 4,185)
  7. “集群和负载均衡”在实战当中的运用技巧 (阅读 4,141)
  8. Ubuntu下PostgreSQL数据库集群(PL/Proxy)配置方法 (阅读 3,923)
  9. storm集群的监控 (阅读 3,544)
  10. 服务器集群架构的设计与选择 (阅读 3,522)