Sunday, April 14, 2013

GProf 0.2.0 is out!

Today I released GProf 0.2.0! GProf is a profiling module for Groovy which is developed in GPerfUtils project at http://gperfutils.org. GBench which is a benchmarking module for Groovy is also a subproject of GPerfUtils. The release already has been available on the Maven Central repository and it means that now you can install GProf by the following one line:
@Grab('org.gperfutils:gprof:0.2.0')
The release includes big enhancements and important bug fixes. The changes are as follows (you can read it also at https://raw.github.com/gperfutils/gprof/master/NEWS):
Support multi-threaded applications

Support Grape

Add includeMethods and excludeMethods options that filter by the name of packages,
classes and methods:

    It supports the following wildcards:

        | * | zero or more characters |
        | ? | exactly one character   |

    The following example profile only methods which are of "java.*" or "groovy.*"
    package but are not constructors:

        profile(
            includeMethods: [ "java.*", "groovy.*" ],
            excludeMethods: [ "*.ctor" ]) {
            // code to be profiled
        }

Add includeThreads and excludeThreads options that filter by the name of threads:

    It supports the following wildcards:

        | * | zero or more characters |
        | ? | exactly one character   |

    The following example profile only methods which are called in the "thread-*"
    thread but not in "thread-2" or "thread-3":

        profile(
            includeThreads: [ "thread-*" ],
            excludeThreads: [ "thread-2", "thread-3" ]) {
            // code to be profiled
        }

Bug fixes:

- #3: GProf fails to profile a multi-threaded application
- #4: Contains the time of children if the depth is more than two
- #6: There are classes that are not profiled
Enjoy ;)

No comments:

Post a Comment