ExpertiDict

Ruby · Avançado · Inglês · Técnico

TracePoint

/ˈtreɪsˌpɔɪnt/substantivo

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 oi

Exemplos

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.

Veja também

Todos os termos de Ruby