IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

seq_trace集群消息链跟踪利器

Erlang非业余研究 2011-10-04 18:00:25 累计浏览 2,529 次
本机暂存
="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. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,896)
  2. 奇怪的 Nginx 的 upstream timed out 引起响应 502 (累计阅读 9,967)
  3. “集群和负载均衡”在实战当中的运用技巧 (累计阅读 4,241)
  4. Staircar:Tumblr的Redis集群控制层 (累计阅读 4,093)
  5. 解决nginx session共享的问题 (累计阅读 3,314)
  6. puppetmaster集群解决方案之puppet客户端共享一张证书 (累计阅读 2,881)
  7. Skynet 集群及 RPC (累计阅读 2,833)
  8. 大规模Hadoop集群在腾讯数据仓库TDW的实践 (累计阅读 2,779)
  9. Erlang集群全联通问题及解决方案 (累计阅读 2,324)