Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] perJoinPoint

Good idea, but if you would like to make real difference between perJoinPoint
and perJoinPointStatic, for perJoinPoint you can use percflow or percflowbellow.
Isn't it same?

Pavel

On Thu, 2005-03-24 at 09:24 -0800, Ramnivas Laddad wrote:
I too have come across the same need. In my case, I wanted to store 
profile information per-join point (static part).
While using hashmaps works, it is inefficient in many situations.

A form of per-association will work (and JBoss AOP has such aspect 
association)
Actually, there may be need for two kinds of associations: 
perJoinPointStaticPart and perJoinPoint.
While these new  aspect associations might work, I have a simpler 
proposal to address the need.
I will like to add the following APIs:

    void JoinPoint.StaticPart.setUserObject(Object)
    Object JoinPoint.StaticPart.getUserObject()

And, for symmetry,

    void JoinPoint.setUserObject(Object)
    Object JoinPoint.getUserObject()

Then I will be able to store profile information as follows:

Object around() : profiled() {
    long startTime = getTime();
    Object ret = proceed();
    long endTime = getTime();

    ProfileInfo jpStats = 
(ProfileInfo)thisJoinPointStaticPart.getUserObject();
    if(jpStats == null) {
        thisJoinPointStaticPart.setUserObject(new ProfileInfo());
    }
    jpStats.record(endTime-startTime);
}

Just submitted an enhancement request:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=89009

-Ramnivas

Eric Bodden wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>No, this is not easily possible at the moment (see the perobjects
>discussion we had earlier). One workaround would be to store the
>joinpoint-specifc state in a hashmap. I think you can even use an
>identity hashmap, since joinpoints are pooled IIRC.
>
>Of course for large problems you might accumulate quite a lot of
>state over the runtime. But this is more a general problem rather
>than specific to AspectJ.
>
>Eric
>
>- --
>Eric Bodden
>Chair I2 for Programming Languages and Program Analysis
>RWTH Aachen University
>
>
>
>________________________________
>
>From: aspectj-dev-admin@xxxxxxxxxxx
>[mailto:aspectj-dev-admin@xxxxxxxxxxx] On Behalf Of Tavoda Pavel
>Sent: Donnerstag, 24. März 2005 11:58
>To: aspectj-dev@xxxxxxxxxxx
>Subject: [aspectj-dev] perJoinPoint
>
>
>Is it possible to achieve something like perJoinPoint aspect?
>I would like to calculate some statistics for method execution.
>
>TNX
>
>Pavel
>
>-----BEGIN PGP SIGNATURE-----
>Version: PGP 8.0.3
>
>iQA/AwUBQkKl7MwiFCm7RlWCEQL2gACfRjf4bEHO5IKGHTID3EZeQwi1chMAoJOW
>ps0sDujWkuwzpDLcv0SMvf1T
>=rpcS
>-----END PGP SIGNATURE-----
>
>
>
>_______________________________________________
>aspectj-dev mailing list
>aspectj-dev@xxxxxxxxxxx
>http://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
>  
>
_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-dev


Ing. Pavel Tavoda
+421 2 5822 6540
Spordat s.r.o


Back to the top