Op
Op は、バージョン管理され、追跡される関数です。関数を@weave.op() (Python) でデコレートするか、weave.op() (TypeScript) でラップすると、Weave はその関数のコード、入力、出力、実行メタデータを自動的に取得します。Op は、トレース、評価用の Scorer、その他あらゆる追跡対象の処理の構成要素です。
Call
Call とは、Op の実行をログとして記録したものです。Op が実行されるたびに Weave は Call を作成し、次の情報を取得します。- 入力引数
- 出力値
- 実行時間とレイテンシー
- 親子関係 (ネストされた Call の場合)
- 発生したエラー
- 同じ実行コンテキスト内の Call のコレクションであるトレースに属することができます。
- 親 Call と子 Call を持つことができ、これによりツリー構造を形成します。
トレース
トレースは、同じ実行コンテキストを共有する Call の完全なツリーです。各トレースには ID (trace_id) があり、これを使用して Call のツリー全体を取得できます。Call の ID を使用して Call の情報を取得した場合、Weave は指定した Call のデータのみを返し、その子 Call のデータは返しません。