Double-clicking on a phase opens an Amida Viewer window.
If you would like to directly open a viewer, please use -viewer
option.
(Windows) java -classpath swt.jar;trove-2.0.3.jar;amida.jar amida.Amida (Other) java -classpath swt.jar:trove-2.0.3.jar:amida.jar amida.Amida
If you have activated a viewer for a phase, the viewer window shows sequence diagrams representing the phase. If the phase involves two or more threads, each thread is represented as an independent sequence diagram.
If you would like to visualize a .log
file without phase detection,
you can use [File]-[Open a log file]
menu.
A sequence diagram is provided with an overview that is located in the right side. A red rectangle indicates where the left side view is located in the whole diagram.
Command | Functionality |
---|---|
Double-Clicking on a method execution (a vertical rectangle) | Double-clicking on a method execution (a vertical rectangle) hides the execution. The hidden part is indicated as a black rectangle.
|
[Extract a diagram] Context Menu |
When you are interested in a single method call,
you may use
A selected method call (indicated by blue) is extracted as a separated diagram. The new tab has the copy of the filters applied in the original diagram.
|
Keyword Search: [Tool]-[Search] Menu |
If a diagram is too large to scroll, you may use a keyword search
|
Filtering Events and Objects: [Tool]-[Filters] Menu |
Amida provides filters that hide or delete uninteresting method calls.
Selecting |
Loop Detection: [Tool]-[Compaction] Menu |
Detected loops are indicated by annotations in a diagram.
Double-clicking on an annotation expands the contents of a loop.
The following figure shows an example of
|
Sorting Objects: [Tool]-[Sort Objects] Menu |
|
Filtering Local Objects: [Tool]-[Apply dominance analysis] Menu |
|
Amida provides filters that hide or delete uninteresting method calls.
Selecting [Tool]-[Filters]
menu to open a filter configuration dialog.
Sequence diagrams have their own filters (shown as diagram names) and share global filters (shown as "default filters"). You may configure filters but the current version of Amida cannot save the configured filters to a disk.
Object Filters Tab has two tables. One is to edit filters to hide/delete objects from a diagram. The other is to edit filters to replace objects with a group.
To add a filter, click on [Add]
button on the right side of the tables.
You can edit the following attributes.
Column | Value |
---|---|
Filter Type | A For example, consider an object X calls Y, Y calls another object Z. A Hide filter removing Y from a diagram shows an indirect method call from X to Z on a diagram. A Delete filter removing Y removes transitive method calls between X and Z. Hide/Delete filters are applied in a sequential order, top to bottom.
If you would like to change the order, please use A |
Package Name Pattern | A string with a wild card character "* " to select objects by their package names.
If you selected Yes in Use Regex column, you may use a regular expression. |
Class Name Pattern | A string with a wild card character "* " to select objects by their class names.
If you selected Yes in Use Regex column, you may use a regular expression. |
Object IDs |
You may directly select objects by a list of their IDs. For example, Note that "0" is a special ID to select static objects. |
Use Regex | Please select "Yes" if you would like to use a regular expression in Name Pattern columns. |
The below figure shows an object filter that Hide
s objects whose ID is 0
.
ScheduleList object in the diagram is a group object containing 7 objects.
Method Filters tab has a table to edit filters Fold/Hide/Delete method calls in a diagram.
These filters are almost same as object filters,
but affect only an execution of a method.
To add a filter, click on [Add]
button on the right side of the tables.
You can edit the following attributes.
Column | Value |
---|---|
Filter Type | You can select the type of a filter from When a method X calls Y, Y calls another method Z, a Hide filter removing Y from a diagram shows an indirect method call from X to Z. A Delete filter removing Y removes transitive method calls between X and Z. Method filters are applied in a sequential order, top to bottom.
If you would like to change the order, please use |
Timestamps |
This value directly select method call events by a list of their timestamps. This is same as Object IDs, for example, |
Package Name | A string with a wild card character "* " to select objects by their package names.
If you selected Yes in Use Regex column, you may use a regular expression. |
Class Name | A string with a wild card character "* " to select objects by their class names.
If you selected Yes in Use Regex column, you may use a regular expression. |
Method Name | A string with a wild card character "* " to select objects by their method names.
If you selected Yes in Use Regex column, you may use a regular expression. |
Object IDs |
This value select objects by a list of their IDs. For example, Note that "0" is a special ID to select static objects. |
Use Regex | Please select "Yes" if you would like to use a regular expression in Package, Class and Method Name columns. |
The following figure is the result of a Fold
filter
that compresses method calls whose timestamps are 10-20
.