本文へスキップ

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.conf
    webservice_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)についての例を参照してください。

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秒以上経過したトランザクションは自動的に終了処理されます。

Tips

管理 > エージェント設定メニューで、オプションの追加もできます。

トレース分析

エージェント設定メニューの詳細については、次の文書を参照してください。

モニタリングの対象となる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メソッドであるため、モニタリングの対象から除外します。