Ruby on Rails アプリケーションのパフォーマンスの問題を調査しています。NewRelic は、updated_at 属性が何度も更新された特定のオブジェクトを多数表示しています。これがどこで起こっているのか完全にはわかりません。このマニフェストを特定する 1 つの方法は、モデルのオブザーバーを作成し、その属性が変更されるたびにスタック トレースを取得することであると判断しました。だから私は次のようなものを持っています:
class FooObserver < ActiveRecord::Observer
def before_save(foo)
if foo.updated_at_changed?
Rails.logger.info("Foo changed - print stack trace??")
end
end
end
この時点でこのスタック トレースを取得する最善の方法は何ですか? それとも発信者?
どんなアドバイスも素晴らしいでしょう。この更新が何度も行われるのをやめる必要があります。パフォーマンスが低下しています。