antro Code
Status: Alpha
Brought to you by:
jkff
| File | Date | Author | Commit |
|---|---|---|---|
| lib | 2008-03-18 | jkff | [r1] Initial check-in |
| src | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| MANIFEST.MF | 2008-03-26 | jkff | [r4] First release: |
| README.txt | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| TODO | 2008-03-26 | jkff | [r4] First release: |
| ant.txt | 2008-03-26 | jkff | [r4] First release: |
| antro.ipr | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| antro.iws | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| antro.jar | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| antro.properties | 2008-10-02 | jkff | [r7] Accepted patch: format filenames as Windows-fri... |
| antro.xml | 2008-03-26 | jkff | [r5] Fixed a couple of bugs; introduced only one dis... |
| json.txt | 2008-03-18 | jkff | [r1] Initial check-in |
| license.txt | 2008-03-18 | jkff | [r1] Initial check-in |
| swingx.txt | 2008-03-18 | jkff | [r1] Initial check-in |
---- What is this? ----
Antro is a profiler for ant build scripts. It allows to view
a complete trace of the build annotated with timing information
and to view by-line statistics for the build scripts involved.
---- Usage ----
To profile a build script, one has to
1) run ant with antro attached as a listener; this will produce a report
2) run antro GUI and open the report
3) stare at the report until the bottlenecks become clear
1) Do something like this:
ant -listener ru.jkff.antro.ProfileListener -lib ~/antro/antro.jar build.xml
The report will be written to the current directory, unless overridden with
-Dantro.dir=/where/to/write/the/report.
2) Just run antro.jar with
java -jar antro.jar
or double-click antro.jar (in Windows).
3) The GUI is rather obvious to use: it has a trace view, a bar view and
a line view.
The trace view is a trace of the whole build, annotated with how much time
each task/target/subbuild took.
Builds/subbuilds look like [my-project]
Targets look like #compile-and-jar
Tasks look like <javac>
The bar view shows an overview of the selected trace node. Each bar
corresponds to a trace node and can be hovered, clicked or double-clicked.
When hovered, a tooltip appears.
When clicked, the node is highlighted in the bar view and also highlighted
are usages of the same source line in the bar view.
When double-clicked, the double-clicked node becomes root for the bar view
and is selected in the tree.
The line view speaks for itself.
Keys: (inspired by IntelliJ IDEA (tm))
- F4 in trace: Select corresponding source line in the line view
- Ctrl-Shift-F7 in trace or line view: highlight usages of the corresponding
line in the trace
---- History ----
02 Oct 2008 - version 0.52
Accepted patch: format filenames as Windows-friendly ISO8601 - thanks, my anonymous friend!
By-line statistics for recursive tasks is now correct
Todo section added below
04 Apr 2008 - version 0.51
Fixed bug with handling of -Dantro.dir=.. (it was not handled at all)
(not long before that) - initial release
---- Todo ----
In order of decreasing priority
- Show time statistics by leaf tasks, sorted by time percent (like, javac took 80% of the time)
- Show a vertical scrollbar in the bar view
- Support displaying the min/max/first call stacks for a line on a double-click on the corresponding
column (the info is present in the json report, it is just not shown)
- Support F3/Shift-F3 keys for 'cycle between usages'