Ruby · Avançado · Inglês · Técnico
TracePoint
API que registra eventos da execução, como chamadas de método, retornos, linhas e exceções, e executa um bloco a cada um. É a base de depuradores e profilers.
Onde usar
Útil para descobrir quem chama um método ou para medir o que a aplicação executa. Deixa o programa mais lento enquanto está ativo, então use em depuração, não em produção.
Em código
tp = TracePoint.new(:call) do |t|
puts "chamou #{t.method_id}"
end
def oi = 'oi'
tp.enable { oi }
# => chamou oiExemplos
I used a TracePoint to find who calls this method.
Usei um TracePoint para descobrir quem chama este método.
Remember to disable the TracePoint after debugging.
Lembre de desativar o TracePoint depois de depurar.
Cuidado
Não se esqueça de chamar disable: um TracePoint ativo continua interceptando eventos e prejudica o desempenho.