http://wiki.erights.org/mediawiki/index.php?title=Causeway&feed=atom&action=historyCauseway - Revision history2024-03-19T01:11:15ZRevision history for this page on the wikiMediaWiki 1.15.5-7http://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=1679&oldid=prevTstanley: /* Menu Commands */2010-05-26T22:50:38Z<p><span class="autocomment">Menu Commands</span></p>
<p><b>New page</b></p><div>== Causeway: A message-oriented distributed debugger ==<br />
<br />
Causeway is an open source postmortem distributed debugger for examining the behavior of distributed programs built as communicating event loops. Its message-oriented approach follows the flow of messages across process and machine boundaries.<br />
<br />
== Getting Started ==<br />
<br />
The simplest way to get started is to launch Causeway from a command line shell and then open one of the examples.<br />
<br />
<pre><br />
$ cd e/src/esrc/scripts<br />
$ rune causeway.e-swt<br />
</pre><br />
<br />
From the Welcome view select an example program from the Help menu.<br />
<br />
<br />
[[Image:Welcome-help.png]]<br />
<br />
<br />
Optionally, the sources and trace logs can be specified on the command line.<br />
<br />
<pre><br />
$ rune -Dsrc=<srcRootDir> causeway.e-swt <logs>...<br />
</pre><br />
<br />
Java's default memory settings are sufficient for the examples but larger programs need more stack and heap space.<br />
Use the -Xss (stack) and -Xmx (heap) options to increase Java default memory sizes. Follow the amount with m for Mb or k for Kb. <br />
Notice the format does not follow the name=value convention. The J option tells rune to pass the option to Java.<br />
<br />
<pre><br />
$ rune -J-Xss128m -J-Xmx128m causeway.e-swt <br />
</pre><br />
<br />
== Waterken Example (Ajax-style) ==<br />
<br />
This Java program ran on the Waterken server instrumented to generate Causeway's trace log format. The program is a distributed implementation of a procedure for handling new purchase orders.<br />
<br />
Before an order is placed, certain conditions must be met: the item is in stock and available, the customer’s account is in good standing, and the delivery options are up to date. An object residing in the “buyer” process (or vat) has remote references to objects <br />
residing in the “product” and “accounts” processes. The buyer queries the remote objects with asynchronous message sends. This example uses Ajax-style continuation-passing: a request carries a callback argument to which a response should be sent.<br />
<br />
The screenshot below shows the principal views from Causeway's postmortem display for this example.<br />
<br />
== Causeway Viewer ==<br />
<br />
<br />
[[Image:viewer.png|alt=Causeway Viewer|Causeway Viewer]]<br />
<br />
<br />
* Search view (leftmost): This view lists bookmarks and results of search commands.<br />
<br />
* Process-order view: This view lists events in chronological order, organized by vat. For example, clicking the "buyer" tab shows all events logged by the buyer vat. The events are ordered by turn number and within each turn, an intra-turn number.<br />
<br />
* Message-order view: This view shows the order in which events caused other events by sending messages. Message order is reflected in the outline structure: nested events were caused by the parent event. Causeway assigns each vat a color so we can see when message flow crosses vat boundaries. <br />
<br />
* Stack Explorer and Source view: These views are familiar from sequential debugging.<br />
<br />
=== Menu Commands ===<br />
<br />
'''File >> Set Source Root...''' point at the root directory of the sources.<br />
<br />
For example, for the trace record pathname shown below,<br />
<br />
<pre><br />
"trace" : {<br />
"calls" : [ {<br />
"name" : "AsyncAnd.run",<br />
"source" : "org/waterken/purchase_ajax/AsyncAnd.java"<br />
} ]<br />
}<br />
</pre><br />
<br />
set the source root to the underlined prefix.<br />
<br />
<u>~/Desktop/waterken/example/src/</u>org/waterken/purchase_ajax/AsyncAnd.java<br />
<br />
''(Limitation: Cannot set multiple source roots.)''<br />
<br />
<br />
'''File >> Open''' select log files to open.<br />
<br />
''(Limitation: Cannot select a folder. Must go into the folder and select the multiple files.)''<br />
<br />
<br />
'''File >> Export...''' translates Causeway's message graph (DAG) to the GraphViz DOT format and writes the dot file to a local disk. The dot file is a human-readable text file. It specifies a graph using the DOT language. [http://www.graphviz.org/ GraphViz] must be downloaded and installed to see the graph visualization. The graph below was generated for the Waterken example described above.<br />
<br />
<br />
[[Image:messageGraph.png|alt=Causeway's DAG as GraphViz graph]]<br />
<br />
<br />
'''Search >> Find Lost Messages''' reports sent messages that were apparently not received.<br />
<br />
'''Tools >> Set Filter Options...''' presents all source files seen during parsing of the trace logs. Individual files can be filtered out.<br />
<br />
<br />
[[Image:filter-async-and.png|alt=Filter options dialog]]<br />
<br />
<br />
Filtering <code>AsyncAnd.java</code> hides all stack frames whose source is in the <code>AsyncAnd</code> class, resulting in simpler, more abstract message-order view and GraphViz graph (as shown below).<br />
<br />
<br />
[[Image:filtered-mov.png|alt=Message-order view with AsyncAnd.java filter]]<br />
<br />
<br />
[[Image:filtered-mg.png|alt=Message graph with AsyncAnd.java filter]]<br />
<br />
<br />
''(Limitation: These settings are not persistent across launches.)''<br />
<br />
=== Context Menu Commands ===<br />
<br />
'''Bookmark''' bookmarks the currently selected event.<br />
<br />
<br />
[[Image:bookmark.png|alt=Bookmark menu item]]<br />
<br />
<br />
'''Find Multiples''' finds the multiple causes of a joining event, e.g., finds the multiple sends to a target showing a multiples icon.<br />
<br />
<br />
[[Image:find-multiples.png|alt=Find multiples menu item]]<br />
<br />
<br />
'''Search Stacks''' finds all events that contain a stack frame for this source line, e.g., all events passing through this source code.<br />
<br />
<br />
[[Image:search-stacks.png|alt=Search stacks menu item]]<br />
<br />
<br />
''(Limitation: Matching events must match exactly on source and line position as specified in the trace logs. Not all lines in the source view can be searched and currently, there is no visual indication identifying the lines that can be searched.)''<br />
<br />
== See Also ==<br />
<br />
[[Causeway Platform Developer]] to understand how to instrument a platform to generate Causeway trace logs.<br />
<br />
[http://www.hpl.hp.com/techreports/2009/HPL-2009-78.html HP Labs Technical Report] presents our experience with the Waterken web server which we have instrumented to generate Causeway's language-neutral trace log format.<br />
<br />
[http://www.youtube.com/watch?v=QeqcGa7HlBk Screencast] presents a brief demonstration of Causeway, using the example from the HP Tech Report.<br />
<br />
[http://waterken.sourceforge.net/debug/ Debugging a Waterken application] explains how to configure the Waterken server to emit the [[wikipedia:JSON|JSON]] debugging records understood by Causeway.<br />
<br />
[http://code.google.com/p/ambienttalk/wiki/Debugging Debugging AmbientTalk using Causeway] explains how to emit Causeway debugging records, in order to use Causeway to debug AmbientTalk applications.<br />
<br />
<br />
[[Category:Applications]]</div>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3681&oldid=prevTstanley: /* Menu Commands */2010-05-26T22:44:19Z<p><span class="autocomment">Menu Commands</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 22:44, 26 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 91:</td>
<td colspan="2" class="diff-lineno">Line 91:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>'''Tools >> Set Filter Options...''' presents all source files seen during parsing of the trace logs. Individual files can be filtered out.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>'''Tools >> Set Filter Options...''' presents all source files seen during parsing of the trace logs. Individual files can be filtered out.</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">''(Limitation: These settings are not persistent across launches.)''</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Image:filter-async-and.png|alt=Filter options dialog]]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Image:filter-async-and.png|alt=Filter options dialog]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Here, <code>AsyncAnd.java</code> is selected and all stack frames whose source is in the <code>AsyncAnd</code> class are hidden. The resulting message-order view and GraphViz graph are simpler and more abstract.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Image:filtered-mov.png|alt=Message-order view with AsyncAnd.java filter]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Image:filtered-mg.png|alt=Message graph with AsyncAnd.java filter]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">''(Limitation: These settings are not persistent across launches.)''</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Context Menu Commands ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Context Menu Commands ===</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3680&oldid=prevTstanley: /* Menu Commands */2010-05-26T21:51:56Z<p><span class="autocomment">Menu Commands</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 21:51, 26 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 95:</td>
<td colspan="2" class="diff-lineno">Line 95:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[Image:filter-<del class="diffchange diffchange-inline">options</del>.png|alt=Filter options dialog]]</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[Image:filter-<ins class="diffchange diffchange-inline">async-and</ins>.png|alt=Filter options dialog]]</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Context Menu Commands ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Context Menu Commands ===</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3679&oldid=prevTstanley: /* Context Menu Commands */2010-05-25T21:33:58Z<p><span class="autocomment">Context Menu Commands</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 21:33, 25 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 118:</td>
<td colspan="2" class="diff-lineno">Line 118:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>''(Limitation: Matching events must match exactly on source and line position as specified in the trace logs. Not all lines in the source view can be searched and currently, there is no visual indication identifying the lines that can be searched.''</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>''(Limitation: Matching events must match exactly on source and line position as specified in the trace logs. Not all lines in the source view can be searched and currently, there is no visual indication identifying the lines that can be searched.<ins class="diffchange diffchange-inline">)</ins>''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3678&oldid=prevTstanley at 20:47, 25 May 20102010-05-25T20:47:46Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 20:47, 25 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Search view (leftmost): This view lists bookmarks and results of search commands.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Search view (leftmost): This view lists bookmarks and results of search commands.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* Process-order view: This view lists events in chronological order, organized by vat. For example, clicking the "buyer" tab shows all events logged by the buyer vat. The events are ordered by turn number and within each turn, <del class="diffchange diffchange-inline">anchor </del>number.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* Process-order view: This view lists events in chronological order, organized by vat. For example, clicking the "buyer" tab shows all events logged by the buyer vat. The events are ordered by turn number and within each turn, <ins class="diffchange diffchange-inline">an intra-turn </ins>number.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Message-order view: This view shows the order in which events caused other events by sending messages. Message order is reflected in the outline structure: nested events were caused by the parent event. Causeway assigns each vat a color so we can see when message flow crosses vat boundaries. </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Message-order view: This view shows the order in which events caused other events by sending messages. Message order is reflected in the outline structure: nested events were caused by the parent event. Causeway assigns each vat a color so we can see when message flow crosses vat boundaries. </div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3677&oldid=prevTstanley at 20:44, 25 May 20102010-05-25T20:44:16Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 20:44, 25 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 11:</td>
<td colspan="2" class="diff-lineno">Line 11:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ rune causeway.e-swt</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ rune causeway.e-swt</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>From the Welcome view select an example program from the Help menu.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>From the Welcome view select an example program from the Help menu.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 55:</td>
<td colspan="2" class="diff-lineno">Line 54:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Stack Explorer and Source view: These views are familiar from sequential debugging.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Stack Explorer and Source view: These views are familiar from sequential debugging.</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">Individual tree items represent events and their descriptive labels depend on the information available in the trace record for the event. Causeway labels the tree items according to the following priority.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"># The "text" field string. This field is required for Comment records. It is optional for Sent, SentIf, and Resolved records.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"># If the trace record has at least one stack trace with a source and span, a single line of source code from the source file specified in the top stack entry.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"># If there's no span, source file name and function name specified in the top stack entry.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"># If nothing else, a Causeway comment.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Menu Commands ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Menu Commands ===</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 97:</td>
<td colspan="2" class="diff-lineno">Line 88:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>'''Search >> Find Lost Messages''' reports sent messages that were not received. <del class="diffchange diffchange-inline">The message graph is searched for <tt>Sent</tt> or <tt>SentIf</tt> events having no corresponding <tt>Got</tt> event. Of course, the message may actually have been received, but the event was not logged.</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>'''Search >> Find Lost Messages''' reports sent messages that were <ins class="diffchange diffchange-inline">apparently </ins>not received.</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>'''Tools >> Set Filter Options...''' presents all source files seen during parsing of the trace logs. Individual files can be filtered out.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>'''Tools >> Set Filter Options...''' presents all source files seen during parsing of the trace logs. Individual files can be filtered out.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>''(Limitation: These settings are not persistent across launches.)''</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>''(Limitation: These settings are not persistent across launches.)''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 115:</td>
<td colspan="2" class="diff-lineno">Line 106:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>'''Find Multiples''' finds the multiple causes of a joining event.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>'''Find Multiples''' finds the multiple causes of a joining event<ins class="diffchange diffchange-inline">, e.g., finds the multiple sends to a target showing a multiples icon</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 121:</td>
<td colspan="2" class="diff-lineno">Line 112:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>'''Search Stacks'''</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>'''Search Stacks''' <ins class="diffchange diffchange-inline">finds all events that contain a stack frame for this source line, e.g., all events passing through this source code.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 127:</td>
<td colspan="2" class="diff-lineno">Line 118:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>''(Limitation: Not all source <del class="diffchange diffchange-inline">lines ... </del>and currently, there is no visual indication.<del class="diffchange diffchange-inline">..)</del>''</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>''(Limitation: <ins class="diffchange diffchange-inline">Matching events must match exactly on source and line position as specified in the trace logs. </ins>Not all <ins class="diffchange diffchange-inline">lines in the </ins>source <ins class="diffchange diffchange-inline">view can be searched </ins>and currently, there is no visual indication <ins class="diffchange diffchange-inline">identifying the lines that can be searched</ins>.''</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3676&oldid=prevTstanley: /* See Also */2010-05-24T14:19:11Z<p><span class="autocomment">See Also</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:19, 24 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 136:</td>
<td colspan="2" class="diff-lineno">Line 136:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[Causeway Platform Developer]] to understand how to instrument a <del class="diffchange diffchange-inline">new </del>platform to <del class="diffchange diffchange-inline">emit </del>Causeway trace logs<del class="diffchange diffchange-inline">.</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[Causeway Platform Developer]] to understand how to instrument a platform to <ins class="diffchange diffchange-inline">generate </ins>Causeway trace logs.</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline">Our current development effort is to generalize Causeway to support asynchronous message-passing programs running on event loop-based platforms in general, not just '''''E'''''. Our initial focus has been on the Waterken server</del>.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[http://www.hpl.hp.com/techreports/2009/HPL-2009-78.html HP Labs Technical Report] presents our experience with the Waterken web server which we have instrumented to generate Causeway's language-neutral trace log format.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[http://www.hpl.hp.com/techreports/2009/HPL-2009-78.html HP Labs Technical Report] presents our experience with the Waterken web server which we have instrumented to generate Causeway's language-neutral trace log format.</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:15 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3675&oldid=prevTstanley: /* Getting Started */2010-05-24T14:14:41Z<p><span class="autocomment">Getting Started</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:14, 24 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 32:</td>
<td colspan="2" class="diff-lineno">Line 32:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ rune -J-Xss128m -J-Xmx128m causeway.e-swt </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ rune -J-Xss128m -J-Xmx128m causeway.e-swt </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">Setting Causeway's debug flag enables a Debug view. As events are selected in the viewer, the Debug view shows the corresponding trace record in the log file.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"><pre></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">$ rune -Dcauseway_debug=true causeway.e-swt </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></pre></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">[[Image:debug-view.png]]</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Waterken Example (Ajax-style) ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Waterken Example (Ajax-style) ==</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:16 -->
</table>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3674&oldid=prevTstanley: /* Causeway's Trace Log Format */2010-05-24T14:13:26Z<p><span class="autocomment">Causeway's Trace Log Format</span></p>
<a href="http://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3674&oldid=3673">Show changes</a>Tstanleyhttp://wiki.erights.org/mediawiki/index.php?title=Causeway&diff=3673&oldid=prevTstanley: /* See Also */2010-05-24T14:00:01Z<p><span class="autocomment">See Also</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:00, 24 May 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 497:</td>
<td colspan="2" class="diff-lineno">Line 497:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== See Also ==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Causeway Platform Developer]] to understand how to instrument a new platform to emit Causeway trace logs.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Our current development effort is to generalize Causeway to support asynchronous message-passing programs running on event loop-based platforms in general, not just '''''E'''''. Our initial focus has been on the Waterken server.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Our current development effort is to generalize Causeway to support asynchronous message-passing programs running on event loop-based platforms in general, not just '''''E'''''. Our initial focus has been on the Waterken server.</div></td></tr>
<!-- diff generator: internal 2024-03-19 01:11:16 -->
</table>Tstanley