この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新リビジョン 両方とも次のリビジョン | ||
software:vizexec [2011/02/11 22:29] sunagae [Demo video] |
software:vizexec [2011/02/19 12:10] sunagae [TCPで接続する場合] |
||
---|---|---|---|
ライン 15: | ライン 15: | ||
- | ===== 使用イメージ ===== | + | ===== 構成 ===== |
+ | ==== ファイルの場合 ==== | ||
<graphviz dot right> | <graphviz dot right> | ||
digraph usage { | digraph usage { | ||
node [fontsize=10 style=filled ]; | node [fontsize=10 style=filled ]; | ||
node [shape = box style=filled fillcolor="#FFF0F0"]; | node [shape = box style=filled fillcolor="#FFF0F0"]; | ||
- | cpp_prog[ label = "C++プログラム" ]; | + | cpp_prog[ label = "C++ Programs" ]; |
- | py_prog[ label = "Pythonプログラム" ]; | + | py_prog[ label = "Python Programs" ]; |
node [shape = ellipse fillcolor = "#CCCCFF"]; | node [shape = ellipse fillcolor = "#CCCCFF"]; | ||
ライン 33: | ライン 34: | ||
vizexec[ label = "vizexec.py (Visualizer)" fillcolor = "#F0FFF0" ]; | vizexec[ label = "vizexec.py (Visualizer)" fillcolor = "#F0FFF0" ]; | ||
- | cpp_prog -> cpp_lw; | + | cpp_prog -> cpp_lw [ label = "Use marker" ]; |
- | cpp_lw -> logfile; | + | cpp_lw -> logfile [ label = "Output" ]; |
- | py_prog -> py_lw; | + | py_prog -> py_lw [ label = "Use marker" ]; |
- | py_lw -> logfile; | + | py_lw -> logfile [ label = "Output" ]; |
- | logfile -> vizexec; | + | logfile -> vizexec [ label = "Read" ]; |
} | } | ||
</graphviz> | </graphviz> | ||
- | * こんな感じに使う | ||
* LogFileのところをmkfifoとかでパイプ (FIFO) にするとリアルタイムな視覚化ができる | * LogFileのところをmkfifoとかでパイプ (FIFO) にするとリアルタイムな視覚化ができる | ||
+ | ==== TCPで接続する場合 ==== | ||
+ | <graphviz dot right> | ||
+ | digraph usage { | ||
+ | node [fontsize=10 style=filled ]; | ||
+ | node [shape = box style=filled fillcolor="#FFF0F0"]; | ||
+ | subgraph cluster_cpp_prog | ||
+ | { | ||
+ | label = "C++ Program (Process)" | ||
+ | node [shape = box style=filled fillcolor="#FFF0F0"]; | ||
+ | cpp_thread1 [ label = "Thread1" ]; | ||
+ | cpp_thread2 [ label = "Thread2" ]; | ||
+ | cpp_thread3 [ label = "Thread3" ]; | ||
+ | node [shape = ellipse fillcolor = "#CCCCFF"]; | ||
+ | cpp_lw[ label = "LogWriter for C++" ]; | ||
+ | } | ||
+ | node [shape = box style=filled fillcolor="#FFF0F0"]; | ||
+ | subgraph cluster_py_prog | ||
+ | { | ||
+ | label = "Python Program (Process)" | ||
+ | py_thread1 [ label = "Thread1" ]; | ||
+ | py_thread2 [ label = "Thread2" ]; | ||
+ | node [shape = ellipse fillcolor = "#CCCCFF"]; | ||
+ | py_lw[ label = "LogWriter for Python" ]; | ||
+ | } | ||
+ | |||
+ | |||
+ | node [shape = box]; | ||
+ | vizexec[ label = "vizexec.py (Visualize Server)" fillcolor = "#F0FFF0" ]; | ||
+ | |||
+ | node [shape = note]; | ||
+ | logfile[ label = "LogFile" fillcolor = "#FFFFFF"]; | ||
+ | |||
+ | cpp_thread1 -> cpp_lw [ ]; | ||
+ | cpp_thread2 -> cpp_lw [ ]; | ||
+ | cpp_thread3 -> cpp_lw [ label = "Use marker" ]; | ||
+ | cpp_lw -> vizexec [ label = "TCP/IP" ]; | ||
+ | py_thread1 -> py_lw [ ]; | ||
+ | py_thread2 -> py_lw [ label = "Use marker or Hook" ]; | ||
+ | py_lw -> vizexec [ label = "TCP/IP" ]; | ||
+ | vizexec -> logfile [ label = "Write out" ]; | ||
+ | } | ||
+ | </graphviz> | ||
+ | |||
+ | * vizexecをサーバーとして動かすことができる | ||
+ | * ファイルの場合と同様にスレッドごとに出力 | ||
+ | * プロセスをまたがったやりとりも可視化可能 | ||
+ | * 必要に応じて履歴をすべてファイルに書き出すことができる | ||
====== Download ====== | ====== Download ====== | ||
+ | * [[http://www.sunaga-lab.net/hgrepos/vizexec/archive/b83a93532eac.zip|VizEXEC 0.2]] | ||
* [[http://www.sunaga-lab.net/hgrepos/vizexec/archive/bd4f5de27059.zip|VizEXEC 0.1]] | * [[http://www.sunaga-lab.net/hgrepos/vizexec/archive/bd4f5de27059.zip|VizEXEC 0.1]] | ||