wsgi_application (PythonエージェントAPI)
wsgi_application は、WSGI アプリケーションのエントリーポイントをインスツルメン トすることでウェブトランザクションを監視するために使用される Python デコレーターです。Python エージェントは、 WSGI を使用するほとんどのフレームワークとサーバー を自動的にサポートします。使用しているフレームワークやウェブサーバがサポートされていない場合は、 高度な統合プロセスの一部としてこのAPIを使用する必要があるかもしれません 。
- The wrapper: The wrapper call パラメータの設定やエントリーポイントを解説 is パラメータの設定やエントリーポイントを解説 WSGIApplicationWrapper .スタック化されたWSGIアプリケーション・コンポーネントのために、複数の場所でラッパーを使用することができます。この場合、最初に遭遇したラッパーがトランザクションの開始を意味し、エージェントはその最初のラッパーに基づいてターゲットアプリを決定します(それ以降のラッパーは無視されます)。
- パスベースのラッパー: パスベースのラッパーコールは wrap_wsgi_application .WSGIオブジェクトをインスツルメンテーションスコープの変数として参照できなかった場合に使用します。これは、デコレータと同じパラメータを取り、さらに module と object_path パラメータを取ります。
オプションです。このデータと関連付けるアプリケーション名。デフォルトは None です。値を指定しない場合、エージェントはエージェント構成で指定されたアプリケーション名 を使用します 。
アプリケーションは、たとえ指定されていても、 newrelic.app_name がWSGI application per request environ dictionary内で定義されていれば、上書きすることができます。
オプションで、ほとんど使用されません。 グループ は、 名前 パラメータの命名構造を表しています。これを設定すると、 トランザクションタイプのサブカテゴリ が作成されます。 name と同様に、通常、アプリケーション全体を1つのトランザクション名やカテゴリとしてレポートすることはないため、これを使用することはほとんどありません。
Pythonステート パラメータ
ステートパラメータは、Viewerステートの挙動を制御する際に使用します。 例えば、ガイドジオメトリをスケールするためのfloatパラメータを使用したり、特定のスクリプトを発動させるためのボタンパラメータを定義することができます。 ステートにバインドされたパラメータは、 Parameter Dialog 内で変更することができ、オプションでビューポート内の上部にある Operation Toolbox Dialog で変更することもできます。
パラメータをバインドさせる方法
ステートを登録する時に1個以上のパラメータを定義することができます。 hou.ViewerStateTemplate.bindParameter()は、パラメータ名、パラメータを格納するデータタイプなどの設定を定義することで、ステートにパラメータテンプレートを追加することができます。 その結果のテンプレートは、ステートインスタンスが生成される時に実際のパラメータをインスタンス化する際に使用されます。
以下コードは、デモシーンのステート実装です: $HH/viewer_states/examples/state_parms_demo.hip 。 このシーンは、パラメータによってビューポート内でテキストの描画を駆動させるOBJステートを埋め込んでいます。
onParmChangeEvent コールバックについては、ここで説明しています。 state_parm 辞書については、ここで説明しています。
パラメータの変更に反応させる方法
onParmChangeEvent コールバックは、パラメータの変更に反応させる際に使用します。 Houdiniは、パラメータダイアログでパラメータが変更された後で、以下の関数(が定義されていれば)をコールします。
onParmChangeEvent( self, kwargs )
このコールバックは、以下の項目を含んだ辞書引数( kwargs )を受け取ります:
そのパラメータの新しい値。 hou.parmTemplateType.Menuパラメータに関しては、 parm_value は新しく選択されたメニュー項目で、 hou.parmTemplateType.Buttonパラメータに関しては、値は何も意味がありません。
複数のコンポーネントで定義されたパラメータに関しては、 parm_value はコンポーネント値すべてを含んだリストです。 パラメータの設定やエントリーポイントを解説 パラメータをバインドした時に使用される num_components 引数を参照してください。
ステートのサンプルの onParmChangeEvent 実装を確認してください。
パラメータUIを更新する方法
Viewerステートパラメータには、UIステートを変更するために修正可能なプロパティ(またはステート)があります。 これらのパラメータを動的に変更すると、インターフェースがもっと効率的でもっと使いやすくなります。 例えば、パラメータを無効にすることで パラメータの設定やエントリーポイントを解説 パラメータダイアログ 内でそのパラメータをグレーアウトしたり、Visibilityプロパティを変更することでそのパラメータを完全に非表示することができます。
コールバックの kwargs 引数を介して state_parms 辞書からパラメータプロパティにアクセスすることができます。 この state_parms 辞書は、エントリーと各ステートパラメータ名をマップします。 これらのエントリーそれぞれが、パラメータプロパティ値とそれらのキーをマップした辞書を含んでいます:
更新が可能なコールバック
たいていのコールバックは、 state_parms にアクセスすることができ、 Operation toolbox と Parameter Dialog の両方で1つ以上のパラメータのプロパティを更新することができます。
コメント