Skip to main content
Weave opは、すべての呼び出しを自動的にログに記録するバージョン管理された関数です。
opを作成するには、Pythonの関数をweave.op()
showLineNumbers
opを呼び出すと、コードが前回の呼び出しから変更されている場合は新しいopバージョンが作成され、関数の入力と出力がログに記録されます。:::note でデコレートされた関数は@weave.op()それらを呼び出す前にweave.init('your-project-name')を呼び出さない場合、通常通り(コードのバージョン管理と追跡なしで)動作します。 :::OpsはservedまたはdeployedWeave toolbeltを使用して行うことができます。

表示名をカスタマイズする

opの表示名はnameパラメータを@weave.op decorator:

ログに記録される入力と出力をカスタマイズする

元の関数を変更せずにweaveにログ記録されるデータを変更したい場合(例:機密データを隠すため)、postprocess_inputspostprocess_outputをopデコレータに渡すことができます。postprocess_inputsは引数名をキーとし、引数値を値とする辞書を受け取り、変換された入力を持つ辞書を返します。postprocess_outputは通常関数によって返される任意の値を受け取り、変換された出力を返します。

サンプリングレートを制御する

opの呼び出しがトレースされる頻度はtracing_sample_rateパラメータを@weave.opデコレータで設定することで制御できます。これは、呼び出しのサブセットのみをトレースする必要がある高頻度のopsに役立ちます。サンプリングレートはルート呼び出しにのみ適用されることに注意してください。opにサンプルレートがあっても、最初に別のopによって呼び出された場合、そのサンプリングレートは無視されます。
opの呼び出しがサンプリングされない場合:
  • 関数は通常通り実行されます
  • トレースデータはWeaveに送信されません
  • その呼び出しの子opsもトレースされません
サンプリングレートは0.0から1.0までの間(両端を含む)でなければなりません。

呼び出しリンク出力を制御する

ロギング中の呼び出しリンクの印刷を抑制したい場合は、WEAVE_PRINT_CALL_LINK環境変数をfalseに設定できます。これは出力の冗長性を減らし、ログの混雑を減らすのに役立ちます。

opを削除する

opのバージョンを削除するには、op refで.delete()を呼び出します。
削除されたopにアクセスしようとするとエラーが発生します。