Hi, Since you want to profile a single method (or a bunch of methods), it makes sense to line_profile them.
you can add that capability as well. See:http://packages.python.org/line_profiler/ <http://packages.python.org/line_profiler/> getit: http://pypi.python.org/pypi/line_profiler Enjoy, Vishal Sapre On Sun, Feb 12, 2012 at 1:08 PM, Saju M <sajup...@gmail.com> wrote: > Hi, > I wrote a decorator using cProfile. > Issue is log-file getting messed up with logs of unwanted method > calls(library calls). > I tried with prof.getstats() and prof.print_stats(), prof.getstats() force > to code extra loops to get infos. > I am also planning to enable/disable this logging using DEBUG flag. > > Have any suggestions to improve this code ??? or any other-way ?? > > > import cProfile > def debug_time(method): > def timed(*args, **kw): > if DEBUG: > prof = cProfile.Profile() > prof.enable(subcalls=False, builtins=False) > result = prof.runcall(method, *args, **kw) > #prof.print_stats() > msg = "\n\n\n\n#######################################" > msg += "\n\nURL : %s" %(tg.request.url) > msg += "\nMethod: %r" %(method.__name__) > print "--ddd--------", type(prof.getstats()) > msg += "\n\nStatus : %s" %(prof.print_stats()) > msg += "\n\n#######################################" > print msg > LOGGER.debug(msg) > else: > result = method(*args, **kw) > return result > return timed > > ref : > > http://stackoverflow.com/questions/5375624/a-decorator-that-profiles-a-method-call-and-logs-the-profiling-result > > > On Fri, Feb 10, 2012 at 7:24 PM, Noufal Ibrahim <nou...@nibrahim.net.in > >wrote: > > > Saju M <sajup...@gmail.com> writes: > > > > > Hi, > > > > > > Yes i saw profile module, I think, i have to do function call via > > > cProfile.run('foo()') I know, we can debug this way. > > > > You should do this in development to identify pain points. The results > > might be interesting. > > > > > > > But, I need a fixed logging system and want to use it in production. > > > I think, we can't permanently include profile's debugging code in > > > source code, > > > will cause any performance issue ?? > > > > Yes. You can't do that. > > > > One option is to use something like graphite to capture statistics that > > your app emits. It should be able to give you a graph of various > > parameters at various times. > > > > > > [...] > > > > > > -- > > ~noufal > > http://nibrahim.net.in > > > > If Roosevelt were alive, he'd turn over in his grave. -Samuel Goldwyn > > _______________________________________________ > > BangPypers mailing list > > BangPypers@python.org > > http://mail.python.org/mailman/listinfo/bangpypers > > > > > > -- > Regards > Saju Madhavan > +91 09535134654 > _______________________________________________ > BangPypers mailing list > BangPypers@python.org > http://mail.python.org/mailman/listinfo/bangpypers > -- Thanks and best regards, Vishal Sapre --- "Life is 10% how you make it, and 90% how you take it" "बहुजन हिताय, बहुजन सुखाय (Benefit for most people, Happiness for most people.)" --- Please DONT print this email, unless you really need to. Save Energy & Paper. Save the Earth. _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers