<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: profiler</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/profiler.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2018-12-29T05:18:48+00:00</updated><author><name>Simon Willison</name></author><entry><title>benfred/py-spy</title><link href="https://simonwillison.net/2018/Dec/29/py-spy/#atom-tag" rel="alternate"/><published>2018-12-29T05:18:48+00:00</published><updated>2018-12-29T05:18:48+00:00</updated><id>https://simonwillison.net/2018/Dec/29/py-spy/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/benfred/py-spy"&gt;benfred/py-spy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A Python port of Julia Evans’ rbspy profiler, which she describes as “probably better” than the original. I just tried it out and it’s really impressive: it’s written in Rust but has precompiled binaries so you can just run “pip install py-spy” to install it. Shows live output in the terminal while your program is running and also includes the option to generate neat SVG flame graphs.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://jvns.ca/blog/2018/12/23/2018--year-in-review/"&gt;2018: Year in review - Julia Evans&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/profiler"&gt;profiler&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rust"&gt;rust&lt;/a&gt;&lt;/p&gt;



</summary><category term="profiler"/><category term="python"/><category term="rust"/></entry><entry><title>How do Ruby &amp; Python profilers work?</title><link href="https://simonwillison.net/2017/Dec/18/how-do-ruby--python-profilers-work/#atom-tag" rel="alternate"/><published>2017-12-18T12:12:12+00:00</published><updated>2017-12-18T12:12:12+00:00</updated><id>https://simonwillison.net/2017/Dec/18/how-do-ruby--python-profilers-work/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://jvns.ca/blog/2017/12/17/how-do-ruby---python-profilers-work-/"&gt;How do Ruby &amp;amp; Python profilers work?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Julia Evans: “As a precursor to writing a Ruby profiler I wanted to do a survey of how existing Ruby &amp;amp; Python profilers work.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/profiler"&gt;profiler&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/julia-evans"&gt;julia-evans&lt;/a&gt;&lt;/p&gt;



</summary><category term="profiler"/><category term="julia-evans"/></entry><entry><title>Announcing django-viewtools</title><link href="https://simonwillison.net/2009/Feb/17/announcing/#atom-tag" rel="alternate"/><published>2009-02-17T21:35:31+00:00</published><updated>2009-02-17T21:35:31+00:00</updated><id>https://simonwillison.net/2009/Feb/17/announcing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://eric.themoritzfamily.com/2009/02/17/announcing-django-viewtools/"&gt;Announcing django-viewtools&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A really excellent idea—run ./manage.py viewtools --pdb /path/on/site/ to debug a view in your Django project that is raising an error using the Python debugger, or use --profile to run the full request cycle for that URL through the profiler.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/debugging"&gt;debugging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/djangoviewtools"&gt;djangoviewtools&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/eric-moritz"&gt;eric-moritz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pdb"&gt;pdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/profiler"&gt;profiler&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="debugging"/><category term="django"/><category term="djangoviewtools"/><category term="eric-moritz"/><category term="pdb"/><category term="profiler"/><category term="python"/></entry></feed>