アプリケーションパラメーターはアプリケーションの重要なメトリクスを監視するのに役立つ機能です。アプリケーションパラメーターを用いて監視できるのは次のようなものがあります。
API要求、データベース操作、キャッシュヒットに関する簡単なWeb要求があったとします。単一の要求が複数のリソースを呼び出したり、複数のユーザーが複数の要求を一度に呼び出すことができます。これらの例では、APIが要求された頻度や特定の期間間隔で行われたデータベースの操作回数を把握できます。CPUやメモリがオーバーロードしているかを評価でき、選択した時間間隔でそれがどのようにアプリケーションパフォーマンスに影響しているのかも把握できます。
実際のアプリケーションでは、データベース要求、サービス要求、ユーザー定義のフレームワーク要求のヒット頻度を監視している場合に、アプリケーションパラメーター機能が便利です。アプリケーションパラメーターのレポートに基づいて、ヒットのオーバーロードで引き起こされたパフォーマンスの低下をトラブルシュートできます。
アプリケーションパラメーターの設定方法:
1. 合計
2.平均
全てのパラメーターが次のメトリクスに送られて、頻度を追跡します。
合計:
1.パラメーター名:
2.合計値:
平均:
1.パラメーター名:
2.合計値:
3.最小値:
4.最大値:
5.合計数:
アプリケーションパラメーターAPIは.NETとJavaエージェントで利用可能です。設定手順は次を参照してください。
合計:
パラメーターの特定の間隔でパスされた値の合計です。合計の値に何も入力していない場合は、合計が1ずつ増加します。
DotNetAgent.Api.CustomTracker.Increment("keyName");
DotNetAgent.Api.CustomTracker.Increment("keyName", value);
平均:
特定の間隔でパスされたパラメーターの平均値です。
DotNetAgent.Api.CustomTracker.Average("keyName", value);
例:
public ActionResult Register()
{
DateTime st = DateTime.Now;
double myKeyValue = Convert.ToDouble(Request.QueryString["mykey"]);
//parameter "register" will be incremented by 1 and sent as SUM
DotNetAgent.Api.CustomTracker.Increment("register");
//parameter "mykey" will be incremented by myKeyValue and sent as SUM
DotNetAgent.Api.CustomTracker.Increment("mykey", myKeyValue);
double myKeyAvgValue = GetAverageValue();
//parameter "myavgkey" will be incremented by value and sent as AVG
DotNetAgent.Api.CustomTracker.Average("myavgkey", myKeyAvgValue);
return View();
}
4. アプリケーションを公開し、パラメーターの追跡を開始します。
Site24x7.Agent.Api.Increment("keyName");
Site24x7.Agent.Api.Increment("keyName", value);
平均:
特定の間隔でパスされたパラメーターの平均値です。
Site24x7.Agent.Api.Average("keyName", value);
例:
public ActionResult Register()
{
DateTime st = DateTime.Now;
double myKeyValue = Convert.ToDouble(Request.QueryString["mykey"]);
//parameter "register" will be incremented by 1 and sent as SUM
Site24x7.Agent.Api.Increment("register");
//parameter "mykey" will be incremented by myKeyValue and sent as SUM
Site24x7.Agent.Api.Increment("mykey", myKeyValue);
double myKeyAvgValue = GetAverageValue();
//parameter "myavgkey" will be incremented by value and sent as AVG
Site24x7.Agent.Api.Average("myavgkey", myKeyAvgValue);
return View();
}
アプリケーションを公開し、パラメーターの追跡を開始します。
合計
CustomMetric.increment("key_name")
キーの値は1ずつ増加します。キーはエージェントのポーリング間隔ごとにクリアされます。
CustomMetric.increment("key_name", value)
キーの値は特定の値によって増加します。キーはエージェントのポーリング間隔ごとにクリアされます。
平均
CustomMetric.average("key_name", value)
キーの値が算出されてエージェントがそれを取得した後、そのデータがSite24x7のサーバーにプッシュされます。
例:
private void generateReport(String type)
{
CustomMetric.increment(type);
// Other app operations
double averageValue = getAverageValue();
CustomMetric.average(type, averageValue);