From: Dean Wampler Date: 2006-03-19T09:25:01+09:00 Subject: Re: aspectr and rails AspectR is pretty old now and doesn't appear to be actively maintained. It may not be compatible with more recent versions of Ruby. You might look at RCR 321: http://www.rcrchive.net/rcr/show/321%22, although if I recall correctly, it is proposing language changes. Still, it might give you ideas for doing your monitoring using existing Ruby techniques. dean On 3/17/06, Peter Bodik wrote: > Has anybody successfully used AspectR with Rails? > > I would like to profile some parts of my Rails app such as accesses to > DB, helper methods, and rendering of views. I'd like to do this in the > live production version of the site and I'd like to turn this > monitoring on and off at run-time. > > I know I could instrument all of these methods manually and collect the > data I want, but ideally I'd like to make no changes to the actual > application. > > So I tried using AspectR for this and it works for some methods, but > most of the methods return this error: > > # You might have expected an instance of Array. > The error occured while evaluating nil.[]> > > in this method (part of aspectr) when it tries to access > @__aop_advice_methods: > > def __aop_advice_list(joinpoint, method) > method = method.to_s > unless (method_hash = @__aop_advice_methods[joinpoint]) > method_hash = @__aop_advice_methods[joinpoint] = {} > end > unless (advice_list = method_hash[method]) > advice_list = method_hash[method] = [] > end > advice_list > end > > It seems like @__aop_advice_methods disappears or something. > > Anybody has an idea how to fix this? > > Or a different way how to do the monitoring I described above? > > Thanks, > Peter > > > -- Dean Wampler http://www.aspectprogramming.com http://www.newaspects.com http://www.contract4j.org