Thanks Andy! That worked.
On Sat, 2010-11-06 at 18:20 -0700, Andy Clement wrote: > Hi, > > In order to weave this: > > public final pointcut allThreadRun(Thread t) : execution(void run()) > && this(t) && !within(ProfilerAspect); > > AspectJ would need to be able to weave the Thread class - it cannot do > that easily. You could extend Thread with a subtype I suppose, but > instead what you can do is detect that your Runnable is about to > finish and determine the Thread at that point: > > public final pointcut allThreadRun(Runnable r) : execution(void run()) > && this(r) && !within(ProfilerAspect); > > after(Runnable r) : allThreadRun(r) { > Thread threadThatIsEnding = Thread.currentThread(); > threadStopHash.put(threadThatIsEnding,System.currentTimeMillis()); > } > > Andy > > On 6 November 2010 12:03, Ajendrex <ajend...@gmail.com> wrote: > > > > Hello, > > > > I need to get the time in which every program's thread exits. The code I am > > profiling looks like this: > > > > public class Phil implements Runnable { > > Phil() { // constructor > > new Thread(this, "Phil").start(); // make a new thread and > > start it > > } > > > > public void run() { // must override run, this > > is what > > for(int i=0; i<2;) { // is executed when the > > thread starts running > > if(<TEST SOMETHING>) > > i++; > > Thread.sleep(500); > > } > > } > > > > Anyway, the idea is to have a profiler that would trace any code, so the > > solution has to be general. > > > > my try has been: > > > > public final pointcut allThreadRun(Thread t) : (execution(void run()) && > > this(t) && !within(ProfilerAspect); > > > > after(Thread t) : allThreadRun(t) //!the advice doesn't match anything, the > > following code never executes > > { > > threadStopHash.put(t,System.currentTimeMillis()); > > } > > > > Any info will be appreciated. > > > > Thanks! > > > > Hector. > > -- > > View this message in context: > > http://aspectj.2085585.n4.nabble.com/pointcut-before-thread-exits-tp3030282p3030282.html > > Sent from the AspectJ - users mailing list archive at Nabble.com. > > _______________________________________________ > > aspectj-users mailing list > > aspectj-users@eclipse.org > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users