Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-2195

How to use aspects for tracing

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Trivial
    • Resolution: Unresolved
    • None
    • None
    • Contributions
    • None

    Description

      I'm creating this JIRA to store information and related files for how to use AspectJ for tracing in the class libraries. Instructions below for adding tracing to the math module:

      1. Download AspectJ from http://www.eclipse.org/aspectj/downloads.php

      2. Copy aspectjrt.jar to /depends/jars/aspectj/

      3. Copy aspectjtools.jar and aspectjrt.jar to ANT_HOME/lib and if using Eclipse add both of these to your ant runtime configuration (Window > Preferences > Ant > Runtime > Add...)

      4. Edit build file to use iajc* instead of javac and include aspect class files (or apply the buildxmlpatch.txt to build.xml in the math module)

      5. Write a tracing aspect (or copy the one attached to modules\math\src\main\java\org\apache\harmony\tracing)

      6. Re-build the module

      7. Make sure to add aspectjrt.jar to the runtime classpath of whatever program you are running.

      • - iajc isn't incremental like javac in ant, it will always do a total rebuild. Also if you switch from using iajc back to javac you will need to do a clean before you do a rebuild.

      Please also note that it's not possible to use this kind of tracing for any classes that are depended on by the AspectJ runtime or there will be errors initializing the classes because of circular dependencies. However I think most modules apart from luni should be safe. Also it's important to not trace methods that are called (directly or indirectly) by your tracing methods otherwise you will end up in an endless loop.

      Attachments

        1. buildxmlpatch.txt
          2 kB
          Sian January
        2. Tracing.aj
          3 kB
          Sian January

        Activity

          People

            Unassigned Unassigned
            sjanuary Sian January
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: