Поскольку запросы Mnesia - это просто функции erlang, я думаю, вы можете профилировать их так же, как и свой собственный код erlang. http://www.erlang.org/doc/efficiency_guide/profiling.html#id2266192 имеет больше информации о доступных инструментах профилирования эрланга.
Обновление В качестве теста я выполнил это дома на тестовом экземпляре mnesia и с помощью fprof отследил возвращенный запрос mnesia qlc, вывел пример, который я включил ниже. Так что он определенно включает в себя больше информации, чем просто запрос запроса.
....
{[{{erl_lint,pack_errors,1}, 2, 0.004, 0.004}],
{ {lists,map,2}, 2, 0.004, 0.004}, %
[ ]}.
{[{{mnesia_tm,arrange,3}, 1, 0.004, 0.004}],
{ {ets,first,1}, 1, 0.004, 0.004}, %
[ ]}.
{[{{erl_lint,check_remote_function,5}, 2, 0.004, 0.004}],
{ {erl_lint,check_qlc_hrl,5}, 2, 0.004, 0.004}, %
[ ]}.
{[{{mnesia_tm,multi_commit,4}, 1, 0.003, 0.003}],
{ {mnesia_locker,release_tid,1}, 1, 0.003, 0.003}, %
[ ]}.
{[{{mnesia,add_written_match,4}, 1, 0.003, 0.003}],
{ {mnesia,add_match,3}, 1, 0.003, 0.003}, %
[ ]}.
{[{{mnesia_tm,execute_transaction,5}, 1, 0.003, 0.003}],
{ {erlang,erase,1}, 1, 0.003, 0.003}, %
[ ]}.
{[{{mnesia_tm,intercept_friends,2}, 1, 0.002, 0.002}],
{ {mnesia_tm,intercept_best_friend,2}, 1, 0.002, 0.002}, %
[ ]}.
{[{{mnesia_tm,execute_transaction,5}, 1, 0.002, 0.002}],
{ {mnesia_tm,flush_downs,0}, 1, 0.002, 0.002}, %
[ ]}.
{[{{mnesia_locker,rlock_get_reply,4}, 1, 0.002, 0.002}],
{ {mnesia_locker,opt_lookup_in_client,3}, 1, 0.002, 0.002}, %
[ ]}.
{[ ],
{ undefined, 0, 0.000, 0.000}, %
[{{shell,eval_exprs,6}, 0, 18.531, 0.000},
{{shell,exprs,6}, 0, 0.102, 0.024},
{{fprof,just_call,2}, 0, 0.034, 0.027}]}.