Depuração de consultas PostgreSQL com erlang e ChicagoBoss

Chicago Boss é uma estrutura da web em erlang.

Ele vem com boss_db, um ORM muito capaz.
Infelizmente, não há saída de depuração do SQL gerado.

redbug, a ferramenta da suíte de desempenho eper erlang , fará isso por nós.

Adicionar :

{eper, ".*", {git, "git://github.com/massemanet/eper.git",  "HEAD"}

para o rebar.config do seu webapp

./rebar get-deps compile

Reinicie o Chicago Boss.

Inicie o redbug para interceptar as mensagens para PostgreSQL:

(fenwick@Boulette)33> redbug:start({pgsql,equery}).
{150,2}
(fenwick@Boulette)34> scenarios_helper:acl_for(U,S).

17:35:32 <{boss_db_controller,init,1}> {pgsql,equery,
[<0.94.0>,
["SELECT * FROM ","acls"," WHERE ",
["scenario = 1 AND ",
"fuser = 1 AND "," TRUE"],
" ORDER BY ","id"," ","ASC",[]],
[]]}
none

redbug
done, timeout - 1

Obviamente funciona para qualquer função de qualquer módulo e muito mais, verifique a página de manual .