アプリケーションのタイミング メトリックを追跡するために statsd (正確には django-statsd ライブラリ) を使用しています。スタックの複数のレベルで何かをテストする必要がある場合、問題が発生します。代表的な例: オブジェクトが作成され、そのオブジェクトから post_save メソッドが呼び出され、そこから celery タスクがトリガーされ、続いて twilio を呼び出してユーザーにテキスト メッセージを送信する別の celery タスクがトリガーされ、最終的にヒットします。サーバーのエンドポイントをアップして、テキストが正常に送信されたことを知らせてくれます。
各関数のタイミングを手動でつなぎ合わせる必要なしに、この全体の時間を追跡したいと思います (とにかく、呼び出し間の待ち時間が失われます)。また、コール スタック トリップの最後に参照する「開始時間」をデータベースに書き込むことも避けたいと思います。開始時間のデータベース ルックアップ時間もメトリックを歪めるからです。ただし、ある種のキャッシュへの呼び出しは、無視できるほど低レイテンシーになる場合があります。しかし、それには、このプロトタイプの段階で必要になると思っていたよりも少し多くのインフラストラクチャが必要です。
これに対する最善のアプローチに関するアイデアはありますか?