The "Performance Monitor" is a special Ant listener than can keep track of the amount of time that each target and task takes to execute. At the end of the build, these times will be sorted from fastest to slowest and displayed following the build output. This can be useful to pinpoint slow and/or inefficient spots in the build process and identify those areas that could benefit from optimization.
The performance listener can be used by passing a parameter to the command line for Ant:
ant -listener net.sf.antcontrib.perf.AntPerformanceListener target |
Following is an example of the results from using the listener. The result format is projectname.targetname for targets and projectname.targetname.taskname for tasks. All times are shown to the nearest millisecond.
[danson@blackdog antelope]$ ant -listener net.sf.antcontrib.perf.AntPerformanceListener dist Buildfile: build.xml init: clean: [delete] Deleting 170 files from /home/danson/apps/antelope/build compile: [javac] Compiling 61 source files to /home/danson/apps/antelope/build all: -build_number: prep_files: [delete] Deleting 3 files from /home/danson/apps/antelope/config [copy] Copying 3 files to /home/danson/apps/antelope/config combined: [echo] basedir = /home/danson/apps/antelope [jar] Building jar: /home/danson/apps/antelope/Antelope_1.208.jar dist: [delete] Deleting 4 files from /home/danson/apps/antelope/dist [zip] Building zip: /home/danson/apps/antelope/dist/Antelope_1.208.zip [echo] Created zip file. -zip_docs: [zip] Building zip: /home/danson/apps/antelope/dist/Antelope_docs_1.208.zip [echo] Zipped docs to Antelope_docs_1.208.zip. -zip_tasks: [jar] Building jar: /tmp/Antelope_tasks_1.208.jar [zip] Building zip: /home/danson/apps/antelope/dist/Antelope_tasks_1.208.zip [delete] Deleting: /tmp/Antelope_tasks_1.208.jar [echo] Zipped tasks to Antelope_tasks_1.208.zip. [copy] Copying 1 file to /home/danson/apps/antelope/dist BUILD SUCCESSFUL Total time: 8 seconds -------------- Target Results ----------------------- Antelope.all: 0.000 sec Antelope.init: 0.011 sec Antelope.-build_number: 0.014 sec Antelope.clean: 0.233 sec Antelope.-zip_tasks: 0.297 sec Antelope.prep_files: 0.311 sec Antelope.-zip_docs: 0.546 sec Antelope.combined: 1.290 sec Antelope.compile: 1.724 sec Antelope.dist: 2.162 sec -------------- Task Results ----------------------- Antelope.init.mkdir: 0.000 sec Antelope.init.mkdir: 0.001 sec Antelope.dist.echo: 0.002 sec Antelope.prep_files.delete: 0.004 sec Antelope.combined.echo: 0.005 sec Antelope.dist.delete: 0.006 sec Antelope.-zip_tasks.echo: 0.007 sec Antelope.dist.copy: 0.011 sec Antelope.-build_number.buildnumber: 0.014 sec Antelope.compile.copy: 0.016 sec Antelope.prep_files.copy: 0.020 sec Antelope.prep_files.replace: 0.071 sec Antelope.-zip_tasks.zip: 0.122 sec Antelope.-zip_tasks.jar: 0.161 sec Antelope.prep_files.replace: 0.216 sec Antelope.clean.delete: 0.233 sec Antelope.dist.antcall: 0.421 sec Antelope.-zip_docs.zip: 0.540 sec Antelope.dist.antcall: 0.685 sec Antelope.dist.zip: 1.036 sec Antelope.combined.jar: 1.284 sec Antelope.compile.javac: 1.708 sec -------------- Totals ----------------------- Start time: Thu, 5 Dec 2002 17:18:30 Stop time: Thu, 5 Dec 2002 17:18:39 Total time: 8.476 sec |
Copyright © 2003 Ant-Contrib Project. All rights Reserved.