Skip to content

Instantly share code, notes, and snippets.

@mikeyk
Created April 5, 2012 02:57
Show Gist options
  • Save mikeyk/2307647 to your computer and use it in GitHub Desktop.
Save mikeyk/2307647 to your computer and use it in GitHub Desktop.
def run_pg_fouine():
info = host_info[env.host_string]
db_name = info.tags.get('Name')
sudo('perl -pi -e "s/log_min_duration_statement = .*/log_min_duration_statement = 0/" /etc/postgresql/9.*/main/postgresql.conf')
sudo('/etc/init.d/postgresql reload')
time.sleep(30)
sudo('perl -pi -e "s/log_min_duration_statement = .*/log_min_duration_statement = 500/" /etc/postgresql/9.*/main/postgresql.conf')
sudo('/etc/init.d/postgresql reload')
run('tail -n 100000 /var/log/postgresql/postgresql-9.*-main.log > /tmp/pgfouine.txt')
run('gzip -f /tmp/pgfouine.txt')
get('/tmp/pgfouine.txt.gz', local_path = '/tmp/latest-pgfouine.txt.gz')
local('gunzip -f /tmp/latest-pgfouine.txt.gz')
now = int(time.time())
local('~/src/pgfouine/pgfouine.php -logtype stderr -file /tmp/latest-pgfouine.txt -quiet > /tmp/pgfouine-%s-%d.html 2>1' % (db_name, now))
local('open /tmp/pgfouine-%s-%d.html' % (db_name, now) )
@hartleybrody
Copy link

just curious, what's the library that sudo() comes from? #lazyweb

@mitechie
Copy link

mitechie commented Apr 5, 2012

it's from Fabric, a python tool for running commands across hosts.

@pvh
Copy link

pvh commented Apr 18, 2012

pg_fouine makes me super :(

but hey, what's this? it's pg_stat_statements that doesn't suck!

http://postgresql.1045698.n5.nabble.com/pg-stat-statements-with-query-tree-based-normalization-td4989745.html

yaaaay

@mikeyk
Copy link
Author

mikeyk commented Apr 18, 2012 via email

@pshen
Copy link

pshen commented Apr 20, 2012

@mikeyk:

will instagram also open source this kind of management script as well?

@wolph
Copy link

wolph commented Jun 7, 2012

And if you want a much much faster version of pgfouine, try pg_query_analyser :)

The needed fabfile is included in the examples directory. It's very much a work in progress though
https://github.com/WoLpH/pg_query_analyser

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment