PerformanceMonitoring API
アプリケーションのユーザーエクスペリエンスを分析できるようにするため、OutSystemsは分析に役立つデータを含むリクエストイベントをログに記録します。リクエストイベントへのアクセスのため、PerformanceMonitoring APIは以下を行うREST APIメソッドを提供します。
- アプリケーションで発生したリクエストイベントのリストを取得する
- 独自のリクエスト関連イベントを登録する
直近2日間のデータのみがサーバーに保存されます。詳細については、「アプリケーションのパフォーマンスの測定方法」をご覧ください。
概要
メソッド | 説明 |
---|---|
GET RequestEvents | パラメータで指定したイベント名と期間によってフィルタリングされたリクエストイベントのリストを返します。 |
POST RequestEvents | リクエストイベントをログに記録します。そのデータに基づき、アプリケーションのユーザーエクスペリエンスを分析できます。 |
リソース | 説明 |
---|---|
RequestEvent | OutSystemsアプリケーションに送信されたWebリクエストのイベントを表します。 |
メソッド
GET RequestEvents
パラメータで指定したイベント名と期間によってフィルタリングされたリクエストイベントのリストを返します。
このメソッドではベーシック認証が必要です。LifeTimeユーザーの資格情報を指定する必要があります。ユーザーがReuse & Monitor(再利用および監視)権限を持つ環境内のアプリケーションに対するリクエストイベントのみを返します。詳細については、インフラのセキュリティを構成する方法をご覧ください。
アプリケーションでこのメソッドを使用するには、環境とアプリケーションモジュールに対する監視がオンになっていることを確認してください。オンになっていない場合、APIはステータスコード「200 - OK」で応答しますがイベントは取得されません。
URL
http://[サーバー]/PerformanceProbe/rest/PerformanceMonitoringAPI/ RequestEvents/?EventNames={EventNames}&StartInstant={StartInstant} &EndInstant={EndInstant}&NumberOfResults={NumberOfResults}
Input
- EventNames
- 型: 文字列(任意)。URLに含めて送信します。
フィルタリングをオンにするイベントのリスト。イベント名はカンマで区切ります。
例: "WebScreenClientExecuted,WebScreenServerExecuted"。 - StartInstant
- 型: 日付時刻(必須)。URLに含めて送信します。
フィルタリングをオンにする期間の開始日時。形式: ISO 8601。
例: "2012-04-23T18:25:43.511Z"。 - EndInstant
- 型: 日付時刻(必須)。URLに含めて送信します。
フィルタリングをオンにする期間の終了日時。形式: ISO 8601。
例: "2012-04-23T18:25:43.511Z"。 - NumberOfResults
- 型: int32(任意)。URLに含めて送信します。
返すイベントの最大数。ただし、実際の上限はデフォルトの制限(15000)を超えることはありません。
この制限は、環境のPerformanceProbeモジュールのMaxResponseSizeサイトプロパティで設定します。
出力
- RequestEventList
- 型: RequestEventのリスト
フィルタリングをオンにするRequestEventオブジェクトのリスト。 - ResultsTruncated
- 型: Boolean。
リストのオブジェクト数の制限のため、結果の一部が返されなかったかどうかを示します。
これは、NumberOfResultsパラメータまたは環境のPerformanceProbeのMaxResponseSizeサイトプロパティのいずれかで制限が設定されている場合に発生する可能性があります。デフォルトの制限: 15000.
結果の続きを取得するため、新しいGETリクエストを送信できます。このとき、StartInstantパラメータを前のリクエストで取得した最新のRequestEventの日時に設定します。
リクエストの例
curl --user mike.fitt:123456
"http://outsystemscloud.com/PerformanceProbe/rest/PerformanceMonitoringAPI/RequestEvents/?StartInstant=2015-09-28T12:45:00.000Z&EndInstant=2015-09-28T12:47:00.025Z"
結果の例
{ "RequestEventList": [ { "Instant": "2015-09-28T12:46:50.713Z", "RequestKey": "11bcf87b-35ca-44dc-b4b3-567db2a159cb", "RequestEventName": "WebScreenClientExecuted", "ModuleKey": "1e758d31-e7de-4641-a731-d3976254108d", "ModuleName": "PerformanceSampleDat", "ApplicationKey": "d026f21a-cbe8-490e-8fbb-47b7fe0db79e", "ApplicationName": "Performance Sample Data", "RequestEventDetails": { "AK": "7449c66a-9863-4673-91c0-cb0440344497", "AN": "StartBootstrap", "EPK": "5a0a2e6c-570f-414f-9b19-ee2cafde273d", "EPN": "HomePage", "TK": "6284e8bf-2aa5-50a4-f1bc-9918c2801df6", "TN": "Users", "EK": "c5be45ac-ccac-4091-a825-d6a7bb9554a0", "EN": "Development", "FN": "qaos1296lt5308", "VK": "d6aa213f-6b4a-42b6-8e39-6624008a576a", "ViK": "82359545-98b8-4010-8c72-cca1a2fe7b3b", "SK": "73562726-2f4f-9bc1-9f44-6219febee940", "UK": "666d9979-32be-4b2d-5271-d267d996bfca", "SR": "1680x1050", "D": 314, "LT": 2, "TTFB": 312, "TTLB": 312, "UA": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/45.0.2454.93 Safari\/537.36" } }, { "Instant": "2015-09-28T12:46:51.037Z", "RequestKey": "ad133aee-2aa5-50a4-8faf-9918c2801df6", "RequestEventName": "WebScreenClientExecuted", "ModuleKey": "1e758d31-e7de-4641-a731-d3976254108d", "ModuleName": "PerformanceSampleDat", "ApplicationKey": "d026f21a-cbe8-490e-8fbb-47b7fe0db79e", "ApplicationName": "Performance Sample Data", "RequestEventDetails": { "AK": "f6151d08-6edd-01a7-e402-8f5a6a6fce40", "AN": "Feedback_Message.Refresh", "EPK": "5a0a2e6c-570f-414f-9b19-ee2cafde273d", "EPN": "HomePage", "TK": "6284e8bf-2aa5-50a4-f1bc-9918c2801df6", "TN": "Users", "EK": "c5be45ac-ccac-4091-a825-d6a7bb9554a0", "EN": "Development", "FN": "qaos1296lt5308", "VK": "d6aa213f-6b4a-42b6-8e39-6624008a576a", "ViK": "82359545-98b8-4010-8c72-cca1a2fe7b3b", "SK": "73562726-2f4f-9bc1-9f44-6219febee940", "UK": "666d9979-32be-4b2d-5271-d267d996bfca", "SR": "1680x1050", "D": 179, "LT": 24, "TTFB": 155, "TTLB": 155, "UA": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/45.0.2454.93 Safari\/537.36" } } ], "ResultsTruncated": false }
POST RequestEvents
リクエストイベントログにイベントを追加して、Webリクエストに関するカスタムデータを収集できます。このメソッドでは、非永続的メッセージキューに依存するAsynchronousLogging APIのLogRequestEventメソッドを使用します。このため、システムエラーが発生した場合、メッセージキュー内の処理待ちのリクエストイベントは失われます。
アプリケーションでこのメソッドを使用するには、環境とアプリケーションモジュールに対する監視がオンになっていることを確認してください。オンになっていない場合、APIはステータスコード「200 - OK」で応答しますが、イベントは登録されません。
URL
http://<サーバー>/PerformanceProbe/rest/PerformanceMonitoringAPI/RequestEvents/
Input
- RequestEvent
- 型: RequestEvent(必須)。リクエストボディ(json)に含めて送信します。
ログに記録されるアプリケーションのリクエストのイベント。
リクエストの例
curl -X POST -H "Content-Type: application/json"
-d {\"Instant\":\"2015-09-28T12:46:50.713Z\",\"RequestKey\":\"67b6ae64-fbf0-4e45-b798-0981749018ba\",
\"RequestEventName\":\"TelecomServices_ModuleLoaded\",\"ModuleKey\":\"2d206f37-af0b-4b46-b11e-375f50c3c282\",
\"ModuleName\":\"TelecomServices\",\"ApplicationKey\":\"00000000-0000-0000-0000-006f74686572\",
\"ApplicationName\":\"Field%20Services\",\"RequestEventDetails\":\"{\\\"Ver\\\":\\\"7.2\\\"}\"}
http://outsystemscloud.com/PerformanceProbe/rest/PerformanceMonitoringAPI/RequestEvents/
リソース
RequestEvent
プロパティ | 説明 |
---|---|
Instant | イベントの発生日時。 |
Request Key | リクエストを識別するGUID。 |
Request Event Name | イベント名 |
Module Key | イベントが発生したモジュールの一意の識別子。 |
Module Name | イベントが発生したモジュールの名前。 |
Application Key | イベントが発生したアプリケーションの一意の識別子。 |
Application Name | イベントが発生したアプリケーションの名前。 |
Request Event Details | イベントの詳細情報を格納するJSONオブジェクト。各ビルトインリクエストイベントには以下の独自詳細情報が含まれます。 • WebScreenClientExecuted • WebScreenServerExecuted • QueryExecuted • ConsumedIntegrationExecuted • ExtensionExecuted |
WebScreenClientExecutedイベントのリクエストイベントの詳細
このイベントは、ユーザーのブラウザがリクエストの処理(初回ページ読み込み、フォーム送信、AJAXリクエスト)を完了するたびに発生します。イベントのプロパティは以下のとおりです。
プロパティ | 意味 | 説明 |
---|---|---|
AK | アクションキー | サーバー上でリクエストを処理したアクションのキー。 |
AN | アクション名 | リクエストを処理したアクションの名前。PreparationアクションとScreenアクションを含むアクション。 注記: Web画面にPreparationアクションが設定されていないか、キャッシュされたバージョンが提供された場合、ActionNameは「(PageRender)」になります。 |
EK | 環境キー | ユーザーがアクセスした環境を識別する一意のキー。 |
EN | 環境名 | ユーザーがアクセスした環境の名前。 |
EPK | エンドポイントキー | リクエストを処理したWeb画面のキー。 |
EPN | エンドポイント名 | リクエストを処理したWeb画面の名前。 |
TK | テナントキー | テナントを識別する一意のキー。 |
TN | テナント名 | テナントの名前。 |
FN | フロントエンド名 | リクエストを処理したフロントエンドサーバーの名前。 |
VK | ビジターキー | リクエストを実行したビジターの一意の識別キー。 ビジターとはデバイスとブラウザの組み合わせのことです。このキーは、ビジターが特定のデバイスとブラウザを使用してWebサイトのドメインに初めてアクセスしたときに作成されます。ブラウザのCookieが消去されるまで同じキーが使用されます。 |
ViK | ビジットキー | 現在のリクエストに関連付けられたビジットの一意の識別子。 ビジットは、同じビジターからの一連のページリクエストとして定義されます。リクエストの記録が30分間ない場合、ビジットは完了したものと見なされます。 |
SK | セッションキー | リクエストに関連付けられたセッションの一意の識別子。 |
UK | ユーザーキー | ユーザーに関連付けられた一意のユーザー識別子(ユーザーがリクエスト中にログインした場合)。 |
SR | 画面解像度 | ブラウザウィンドウの画面解像度。形式は「<width>x<height>」となります。例: 「1024x768」 |
UA | ユーザーエージェント | ブラウザによって提供されるユーザーエージェント文字列。 |
D | 期間 | ユーザーが(リンクをクリックするなどして)リクエストを行った時点からブラウザがレスポンスの処理を完了するまでに経過した時間(ミリ秒単位)。 注記: このアトリビュートは、HTTPリクエスト自体にのみ関連します。他のリソース(画像やフォントなど)への参照がHTMLに含まれる場合、それらのリソースのダウンロードと処理に要する時間は含まれません。 |
LT | 読み込み時間 | ブラウザによるレスポンスの処理にかかった時間(ミリ秒単位)。読み込み時間には、ページの描画やJavaScriptの実行などが含まれます。 |
TTFB | 最初のバイトまでの時間 | ユーザーが(リンクをクリックするなどして)リクエストを行った時点からブラウザがレスポンスの最初のバイトをプラットフォームサーバーから受信するまでに経過した時間(ミリ秒単位)。 |
TTLB | 最後のバイトまでの時間 | ユーザーが(リンクをクリックするなどして)リクエストを行った時点からブラウザがレスポンスの最後のバイトをプラットフォームサーバーから受信するまでに経過した時間(ミリ秒単位)。 |
DMan | デバイス製造元 | デバイス製造元の名前。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されている場合にのみ収集されます。 |
DMod | デバイスモデル | デバイスモデルの名前。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されている場合にのみ収集されます。 |
DPlat | デバイスプラットフォーム | デバイス上で実行されているオペレーティングシステム。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されている場合にのみ収集されます。 |
DPlatV | デバイスプラットフォームバージョン | デバイスのオペレーティングシステムのバージョン。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されている場合にのみ収集されます。 |
NT | ネットワークタイプ | デバイスによって使用されるアクティブなネットワークタイプ。キャリアネットワークタイプ(3Gなど)またはWiFiのいずれかです。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されている場合にのみ収集されます。 |
CN | キャリア名 | デバイスの通信サービスプロバイダの名前。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されていて、デバイスが3GやGPRSなどのキャリアベースのネットワークサービスをサポートしている場合にのみ収集されます。 |
CCC | クライアント国コード | デバイスのキャリアに関連付けられたISO-Alpha2国コード。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されていて、デバイスが3GやGPRSなどのキャリアベースのネットワークサービスをサポートしている場合にのみ収集されます。 |
CNT | キャリアネットワークタイプ | デバイスのキャリアによって提供される3GやGPRSなどのアクティブなネットワークタイプ。この値は、モバイルデバイス上でアプリケーションがネイティブで実行されていて、デバイスが3GやGPRSなどのキャリアベースのネットワークサービスをサポートしている場合にのみ収集されます。 |
WebScreenServerExecutedイベントのリクエストイベントの詳細
このイベントは、サーバーがリクエストの処理を完了するたびに発生します。イベントのプロパティは以下のとおりです。
プロパティ | 意味 | 説明 |
---|---|---|
TK | テナントキー | テナントを識別する一意のキー。 |
TN | テナント名 | テナントの名前。 |
EK | 環境キー | ユーザーがアクセスした環境を識別する一意のキー。 |
EN | 環境名 | ユーザーがアクセスした環境の名前。 |
FN | フロントエンド名 | リクエストを処理したフロントエンドサーバーの名前。 |
EPN | エンドポイント名 | リクエストを処理したWeb画面の名前。 |
EPK | エンドポイントキー | リクエストを処理したWeb画面のキー。 |
AN | アクション名 | リクエストを処理したアクションの名前。PreparationアクションとScreenアクションを含むアクション。 注記: Web画面にPreparationアクションが設定されていないか、キャッシュされたバージョンが提供された場合、ActionNameは「(PageRender)」になります。 |
AK | アクションキー | リクエストを処理したアクションのキー。 |
D | 時間 | サーバーによるリクエストの処理にかかった合計時間(ミリ秒単位)。 注記: サーバー負荷が原因でリクエストがアプリケーションサーバー(IISなど)のキューに追加された場合、キュー待機中に経過した時間はこのメトリックに含まれません。 |
TQT | 合計クエリ時間 | クエリ(Aggregateや高度なクエリ)の実行にかかった合計時間(ミリ秒単位)。 |
TQE | 合計クエリ実行回数 | クエリ(Aggregateや高度なクエリ)の合計実行回数。 |
TET | 合計拡張機能時間 | 拡張機能によって提供されるアクションの呼び出しにかかった合計時間(ミリ秒単位)。 |
TEE | 合計拡張機能実行回数 | 拡張機能によって提供されるアクションの合計呼び出し回数。 |
TCIT | 合計利用中連携時間 | 利用中の連携(SOAP、REST、SAP)によって提供されるアクションの呼び出しにかかった合計時間(ミリ秒単位)。 |
TCIE | 合計利用中連携実行回数 | 利用中の連携(SOAP、REST、SAP)によって提供されるアクションの合計呼び出し回数。 |
IP | クライアントIP | クライアントのパブリックIPアドレス。X-FORWARDED-FORヘッダーから収集されます。これがない場合はREMOTE_ADDRヘッダーから収集されます。 |
SAT | セッション取得時間 | データベースからのセッションの取得にかかった時間(ミリ秒単位)。 |
SS | セッションサイズ | セッションサイズ(バイト単位)。 |
VSS | ビューステートサイズ | ビューステートサイズ(バイト単位)。 |
UID | ユーザーID | リクエストを行ったユーザーの一意の識別子。Userシステムエンティティに保存されているユーザーの識別子に対応します。 匿名ユーザーによってリクエストが行われた場合、ユーザーIDはイベントアトリビュートに含まれません。 |
QueryExecutedイベントのリクエストイベントの詳細
このイベントは、OutSystemsプラットフォームが低速なクエリを検出した場合に発生します。イベントのプロパティは以下のとおりです。
プロパティ | 意味 | 説明 |
---|---|---|
TK | テナントキー | テナントを識別する一意のキー。 |
TN | テナント名 | テナントの名前。 |
AK | アクションキー | リクエストを処理したアクションのキー。 |
AN | アクション名 | リクエストを処理したアクションの名前。PreparationアクションとScreenアクションを含むアクション。 注記: Web画面にPreparationアクションが設定されていないか、キャッシュされたバージョンが提供された場合、ActionNameは「(PageRender)」になります。 |
EK | 環境キー | ユーザーがアクセスした環境を識別する一意のキー。 |
EN | 環境名 | ユーザーがアクセスした環境の名前。 |
EPK | エンドポイントキー | リクエストを処理したWeb画面のキー。 |
EPN | エンドポイント名 | リクエストを処理したWeb画面の名前。 |
FN | フロントエンド名 | リクエストを処理したフロントエンドサーバーの名前。 |
D | 時間 | すべての低速なクエリの実行の合計時間。 |
OK | オブジェクトキー | 低速なクエリを識別するキー。 |
ON | オブジェクト名 | 低速なクエリの名前。 |
NE | 実行回数 | 特定の低速なクエリの合計呼び出し回数。 |
OEK | オブジェクトのeSpaceキー | 低速なクエリが呼び出されたアプリケーションモジュールのキー。 |
OEN | オブジェクトのeSpace名 | 低速なクエリが呼び出されたアプリケーションモジュールの名前。 |
ConsumedIntegrationExecutedイベントのリクエストイベントの詳細
このイベントは、OutSystemsプラットフォームが低速な利用中連携を検出した場合に発生します。イベントのプロパティは以下のとおりです。
プロパティ | 意味 | 説明 |
---|---|---|
TK | テナントキー | テナントを識別する一意のキー。 |
TN | テナント名 | テナントの名前。 |
EK | 環境キー | ユーザーがアクセスした環境を識別する一意のキー。 |
EN | 環境名 | ユーザーがアクセスした環境の名前。 |
FN | フロントエンド名 | リクエストを処理したフロントエンドサーバーの名前。 |
ON | オブジェクト名 | 低速な連携メソッドの名前。 |
OK | オブジェクトキー | 低速な連携メソッドを識別するキー。 |
OEN | オブジェクトのeSpace名 | 低速な連携が呼び出されたアプリケーションモジュールの名前。 |
OEK | オブジェクトのeSpaceキー | 低速な連携が呼び出されたアプリケーションモジュールのキー。 |
NE | 実行回数 | 特定の低速な連携の合計呼び出し回数。 |
D | 時間 | すべての低速な連携の実行の合計時間。 |
EPN | エンドポイント名 | リクエストを処理したWeb画面の名前。 |
EPK | エンドポイントキー | リクエストを処理したWeb画面のキー。 |
AN | アクション名 | リクエストを処理したアクションの名前。PreparationアクションとScreenアクションを含むアクション。 注記: Web画面にPreparationアクションが設定されていないか、キャッシュされたバージョンが提供された場合、ActionNameは「(PageRender)」になります。 |
AK | アクションキー | リクエストを処理したアクションのキー。 |
IT | 連携タイプ | 連携タイプ。現在サポートされている連携タイプ: SOAP、REST、SAP。 |
IE | 連携エンドポイント | 連携のエンドポイントURL。 |
ExtensionExecutedイベントのリクエストイベントの詳細
このイベントは、OutSystemsプラットフォームが低速な拡張機能アクションを検出した場合に発生します。イベントのプロパティは以下のとおりです。
プロパティ | 意味 | 説明 |
---|---|---|
TK | テナントキー | テナントを識別する一意のキー。 |
TN | テナント名 | テナントの名前。 |
EK | 環境キー | ユーザーがアクセスした環境を識別する一意のキー。 |
EN | 環境名 | ユーザーがアクセスした環境の名前。 |
FN | フロントエンド名 | リクエストを処理したフロントエンドサーバーの名前。 |
OK | オブジェクトキー | 低速な拡張機能のアクションを識別するキー。 |
ON | オブジェクト名 | 低速な拡張機能のアクションの名前。 |
OEK | オブジェクトのeSpaceキー | 低速な拡張機能アクションが呼び出されたeSpaceのキー。 |
OEN | オブジェクトのeSpace名 | 低速な拡張機能アクションが呼び出されたeSpaceの名前。 |
NE | 実行回数 | 特定の低速な拡張機能のアクションの合計呼び出し回数。 |
D | 時間 | すべての低速な拡張機能の実行の合計時間。 |
EPK | エンドポイントキー | リクエストを処理したWeb画面のキー。 |
EPN | エンドポイント名 | リクエストを処理したWeb画面の名前。 |
AK | アクションキー | リクエストを処理したアクションのキー。 |
AN | アクション名 | リクエストを処理したアクションの名前。PreparationアクションとScreenアクションを含むアクション。 注記: Web画面にPreparationアクションがない場合やキャッシュされたバージョンが使用された場合、アクション名は「(PageRender)」になります。 |