The TSViz vis­ual­izat­ion engi­ne gene­r­ate­s inter­active comm­uni­ca­tion graphs from execution logs of complex multi-threaded systems.

What am I looking at?

In the visualization:

How do I interact with the visualization?

The visualization supports the following actions:

How is this tool useful?

Here are four use-cases that TSViz helps to support:

What is the input log format to the tool?

(Also, see the LogFormat wiki page.)

You can specify the log format using a regular expression on the Input page. The regular expression must contain the following three named capture groups:

You can also specify other capture groups other than event to capture fields (such as date, IP, priority) which are shown in the sidebar while hovering over an event in the visualization. These fields, unless sub-groups of the event group, will not be displayed as part of the event message.

For example, to parse log entries like this one:

1456966522871394967 Exiting eviction_wait_handle.0x18988c0__wt_spin_unlock
thread4 {"thread4":58}
We would use the following parser RegExp:
(?<timestamp>(\d*)) (?<event>.*)\n(?<host>\w*) (?<clock>.*)

The capture groups in TSViz is not standard regexp syntax. We recommend using a plain JS regexp tester with regular capture groups to develop expressions, and name the capture groups afterwards.

How can I generate logs to use in TSViz?

You can study the execution of any system that produces logs in a format that can be parsed using the RegExp mechanism above.

We recommend DINAMITE instrumentation tool that outputs TSViz-compatible logs.

More information

  • h
  • i
  • a


Upload a log by selecting a file with the following format:

  • The first line of the file is the log parsing regular expression. If left empty, the default regular expression "(?<event>.*)\n(?<host>\S*) (?<clock>{.*})" will be used.
  • The second line of the file is the multiple executions regular expression delimiter. This can be left empty if the log does not contain multiple executions.
  • The rest of the file is the log.

    Click the ? for more information.
  • Sort threads in order by: