WCFおよびWeb Serviceモニタリングの設定
.NETアプリケーションサーバーのWCF(Windows Communication Foundation)またはWeb Serviceを追跡で きます。
設定案内
次はWCFおよびWeb Serviceを追跡するためのエージェントの設定オプションです。
-
webservice_method_enabled Boolean
既定値
false
値を
true
に設定するとWeb Serviceを追跡できます。ノート設定した値を有効にするには、IISを再起動してください。
-
webservice_method_prefix String
追跡するメソッド名をネームスペースを入力してください。 Web Serviceは直接追跡できないため、Web Serviceを使用したメソッドを直接追跡対象として入力する必要があります。
次の例を参照にしてください。
whatap.confwebservice_method_prefix=Test.Demo, WebServiceDemo.WebService.
注意-
条件を満たすメソッドは、Web Serviceを使用していない場合でも追跡されます。 WCFとWeb Serviceのために作られた機能ですが、他の目的で使用できます。
-
メソッドが所属するクラスまで入力すると、そのクラス内のすべてのpublicメソッドが追跡対象にな ります。
ノート設定した値を有効にするには、IISを再起動してください。
-
-
webservice_method_timeout Integer
既定値:
5000
(ミリ秒、ms)モニタリング対象となるメソットにおいてExceptionハンドリングがされない場合、トランザクションの終了時点が確認できません。 このような場合に備えて、ウェブサービスのモニタリングは基本的に5秒が経過するとタイムアウト処理されます。 このオプションの値を変更して、タイムアウト時間を調整できます。
使用例
エージェント設定ファイルの修正
WCFおよびWeb Serviceの追跡用エージェント設定ファイル(whatap.conf)についての例を参照してください。
license=...
whatap.server.host=15.165.146.117
whatap.server.port=6600
app_process_name=w3wp.exe
tag_counter_enabled=true
perfcounter.enabled=true
app_name=...
OID=...
webservice_method_enabled=true
webservice_method_prefix=Whatap.Service.Controller, Whatap.DotNet.Examples.Service1
webservice_method_timeout=10000
-
ネームスペースを含むメソッドの呼び出し経路が次のいずれかであれば、関数の開始と終了をトランザクションとして処理できます。
Whatap.Service.Controller, Whatap.DotNet.Examples.Service1
-
webservice_method_timeout
オプションを10,000(ms)に設定したため、10秒以上経過したトランザクションは自動的に終了処理されます。
管理 > エージェント設定メニューで、オプションの追加もできます。
エージェント設定メニューの詳細については、次の文書を参照してください。
モニタリングの対象となるWCFソースコードの例題
次のWCFソースコードの例題を通じて、モニタリングの対象となる事例をご案内します。
namespace Whatap.DotNet.Examples
{
public class Service1 : IService1
{
public string GetData(int value)
{
...
}
public CompositeType GetDataUsingDataContract(CompositeType composite)
{
...
}
private string getFromDB()
{
...
}
private string getFromHttp()
{
...
}
}
public class Service2 : IService1
{
...
}
public class Service3 : IService1
{
public string IwantToSeeOnlyThis(int value)
{
...
}
}
}
モニタリングの対象となるGetData()
メソッドは、Whatap.DotNet.Examples
ネームスペースのService1
クラスに所属しています。 従って、メソッドの呼び出しパスは次の通りです。
Whatap.DotNet.Examples.Service1.GetData
これは、エージェント設定ファイル(whatap.conf)で指定したwebservice_method_prefix
の値(Whatap.DotNet.Examples.Service1
)から始まるため、トランザクションとして扱います。
-
GetDataUsingDataContract()
メソッドもpublicメソッドであるため、モニタリングの対象となります。 -
getFromDB()
,getFromHttp()
メソッドはprivateメソッドであるため、モニタリングの対象から除外します。