Weave は、アプリケーションのパフォーマンスへの影響を最小限に抑えるために、バックグラウンドスレッドで Trace Data をアップロードします。ただし、multiprocessing やタスクキューシステム、あるいは Celery のようなワーカープロセスを使用している場合、トレースのアップロードがバックグラウンドスレッドで完了する前にワーカープロセスが終了すると、Weave は Trace Data を失います。 ワーカープロセスでのデータ損失を防ぐには、ワーカータスクが完了する前にDocumentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
client.flush() または client.finish() を呼び出し、バックグラウンドアップロードを完了させる必要があります。これは、AWS Lambda、Google Cloud Run、または実行直後に終了するノートブックのような短命な環境で作業する場合に役立ちます。
これらの method には、それぞれ異なる用途があります。
weave.flush(): シンプルで通知のないフラッシュです。Weave をワーカープロセスや CI 環境に統合する場合に推奨されます。weave.finish(): プログレスバーやステータスコールバックによる進行状況のフィードバックが含まれます。対話的なスクリプトやノートブックに推奨されます。
client.finish() を示します。
with コンテキストマネージャーを使うと、終了時に weave.finish() が自動的に呼び出されます:
weave.flush() を使うことで、アプリケーションのパフォーマンスを改善することもできます。詳しくは、Flushing を参照してください。
データ損失に対する耐性をさらに高めるには、サーバーに送信する前に Trace Data をディスクに書き込む write-ahead log を有効にすることも検討してください。
Trace Data パフォーマンス