This API is currently available as a supported beta version. It is subject to change as a result of product updates. In a future release the API will become a regular part of the product, with limited and documented changes.

We encourage you to use the API, and to send us your feedback. Your suggestions can help us to improve it.

To allow you to analyze the user experience of your applications, OutSystems Platform logs request events with valuable data for your analytics. To give you access to request events, the PerformanceMonitoring API provides REST API methods to:

The server stores only the last six days' data. Learn how application performance is measured.

Summary

Methods

GET RequestEvents

Returns a list of request events, filtered by the event names and time interval you specify in the parameters.

POST RequestEvents Logs a request event. Based on that data you can analyze the user experience of your applications.

 

Resources

RequestEvent

Represents an event of a web request, sent to an OutSystems application.

Methods

GET RequestEvents

Returns a list of request events, filtered by event names and time interval you specify in the parameters.

This method requires basic authentication. You need to provide the credentials of a LifeTime user. It returns request events only for those applications to which the user has 'Reuse & Monitor' permission in the environment. Learn more about how to configure security for an infrastructure.

To use it in an application, make sure that monitoring is turned on for the environment, and for the application module. Otherwise the API responds with a status code of '200 - OK', but doesn't retrieve any events.

URL

http://[server]/PerformanceProbe/rest/PerformanceMonitoringAPI/
RequestEvents/?EventNames={EventNames}&StartInstant={StartInstant}
&EndInstant={EndInstant}&NumberOfResults={NumberOfResults}

Input

EventNames
Type: string, optional, to be sent in the URL;
List of events to filter on. Separate event names with a comma. Example: "WebScreenClientExecuted,WebScreenServerExecuted".
StartInstant
Type: date time, mandatory, to be sent in the URL;
The start date and time of the time interval you want to filter on. Format: ISO 8601. Example: "2012-04-23T18:25:43.511Z".
EndInstant
Type: date time, mandatory, to be sent in the URL;
The end date and time of the time period you want to filter on. Format: ISO 8601. Example: "2012-04-23T18:25:43.511Z".
NumberOfResults
Type:  int32, optional, to be sent in the URL;
The maximum number of events to return. Note that the actual upper limit never exceeds the default limit (15000). This limit is set in the 'MaxResponseSize' site property of the PerformanceProbe module of your environment.

Output

RequestEventList
Type:  list of RequestEvent;
List of RequestEvent objects filtered on.
ResultsTruncated
Type:  boolean;
Indicates if not all the results were returned, due to the limit of objects in the list.
This can occur due to the limit set either in the 'NumberOfResults' parameter, or in the 'MaxResponseSize' site property of the PerformanceProbe module of your environment. Default limit: 15000.
To retrieve the next set of results, you can send a new GET request. Set its StartInstant parameter to the Instant of the most recent RequestEvent you got on the previous request.

Example Request

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"

Example Result

POST RequestEvents

Adds an event to the request event logs, allowing you to collect custom data about web requests. This method uses the LogRequestEvent method of the AsynchronousLogging API, which relies on a non-persistent message queue. As a result, request events that are in the message queue waiting to be processed are lost in the case of a system failure.

To use this method in an application, make sure that monitoring is turned on for the environment, and for the application module. Otherwise the API responds with a status code of '200 - OK', but doesn't register the event.

URL

http://<server>/PerformanceProbe/rest/PerformanceMonitoringAPI/RequestEvents/

Input

RequestEvent
Type: RequestEvent, mandatory, to be sent in the request body (json);
The event of a request in an application to be logged.

Example Request

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/

Resources

RequestEvent

Property

Description

Instant

Date and time when the event occurred.

Request Key The GUID that identifies the request.
Request Event Name The name of the event.
Module Key Unique identifier of the module where the event occurred.
Module Name Name of the module where the event occurred.
Application Key Unique identifier of the application where the event occurred.
Application Name Name of the application where the event occurred.
Request Event Details

A JSON object with the details about the event.
Each built-in request event has its own details:

Request Event Details for WebScreenClientExecuted Event

This event occurs whenever the user’s browser finishes processing a request (initial page load, any form submission, or any AJAX request). The event's properties are the following:

Property

Meaning

Description

AK

Action Key

The key of the action that was handling the request on the server.

AN

Action Name

The name of the action that was handling the request. Actions include the Preparation action and Screen Actions.

 

Note: If the web screen does not have a Preparation action, or if a cached version was served, then the ActionName is "(PageRender)".

EK

Environment Key

The unique key identifying the environment the user was accessing.

EN

Environment Name

The name of the environment the user was accessing.

EPK

EndPoint Key

The key of the web screen that was handling the request.

EPN

EndPoint Name

The name of the web screen that was handling the request.

TK

Tenant Key

A unique key identifying the tenant.

TN

Tenant Name

The name of the tenant.

FN

Front-end Name

The name of the front-end server that handled the request.

VK

Visitor Key

Unique identifier key for the visitor that performed the request.

 

A visitor is a combination of a device and a browser. The key is created at the first time the visitor accesses the website’s domain using a given device and browser. The same key is used until the browser cookies are cleared.

ViK

Visit Key

Unique identifier of the visit associated with the current request.

 

A visit is defined as a series of page requests from the same visitor. A visit is considered finished when no requests have been recorded for 30 minutes.

SK

Session Key

Unique identifier of the session associated with the request.

UK

User Key

Unique user identifier associated with the user, if he is logged in during the request.

SR

Screen Resolution

The browser window screen resolution. Formatted as "<width>x<height>". Example: "1024x768".

UA

User Agent

The user agent string as provided by the browser.

D

Duration

The time, in milliseconds, that passed from the moment the user made the request (e.g.: by clicking on a link) until the browser finished processing the response.

 

Note: This attribute is related only to the HTTP request itself. If the HTML contains references to other resources (e.g.: images, fonts), the time it took to download and process those resources is not included.

LT

Load Time

The time, in milliseconds, that the browser took to process the response. The load time includes for example the page rendering and the JavaScript execution.

TTFB

Time To First Byte

The time, in milliseconds, that passed from the moment the user made the request (e.g.: user clicked on a link), until the browser received the first byte of the response from the platform server.

TTLB

Time To Last Byte

The time, in milliseconds, that passed from the moment the user made the request (e.g.: user clicked on a link), until the browser received the last byte of the response from the platform server.

DMan

Device Manufacturer

The name of the device manufacturer. The value is collected only when running the application natively on a mobile device.

DMod

Device Model

The name of the device model. The value is collected only when running the application natively on a mobile device.

DPlat

Device Platform

The operating system running on the device. The value is collected only when running the application natively on a mobile device.

DPlatV

Device Platform Version

The version of the device's operating system. The value is collected only when running the application natively on a mobile device.

NT

Network Type

The active network type used by the device. This can either be the Carrier Network Type (e.g. 3G) or WiFi. The value is collected only when running the application natively on a mobile device.

CN Carrier Name The name of the communications service provider of the device. The value is collected only when running the application natively on a mobile device, and the device supports a carrier-based network service such as 3G or GPRS.
CCC Client Country Code The ISO-Alpha2 country code associated with the device's carrier. The value is collected only when running the application natively on a mobile device, and the device supports a carrier-based network service such as 3G or GPRS.
CNT Carrier Network Type The active network type provided by the device's carrier, such as 3G or GPRS. The value is collected only when running the application natively on a mobile device, and the device supports a carrier-based network service such as 3G or GPRS.

Request Event Details for WebScreenServerExecuted Event

This event occurs whenever the server finishes handling a request. The event's properties are the following:

Property

Meaning

Description

TK

Tenant Key

A unique key identifying the tenant.

TN

Tenant Name

The name of the tenant.

EK

Environment Key

The unique key identifying the environment the user was accessing.

EN

Environment Name

The name of the environment the user was accessing.

FN

Front-end Name

The name of the front-end server that handled the request.

EPN

EndPoint Name

The name of the web screen that was handling the request.

EPK

EndPoint Key

The key of the web screen that was handling the request.

AN

Action Name

The name of the action that was handling the request. Actions include the Preparation action and Screen Actions.

 

Note: If the web screen does not have a Preparation action, or if a cached version was served, then the ActionName is "(PageRender)".

AK

Action Key

The key of the action that was handling the request.

D

Duration

The total time, in milliseconds, the server spent serving the request.

 

Note: If the application server (e.g.: IIS) queued the request due to server load, the time spent waiting in the queue is not included in this metric.

TQT

Total Query Time

The total time spent, in milliseconds, executing queries (Aggregates and Advanced Queries).

TQE

Total Query Executions

The total number of executed queries (Aggregates and Advanced Queries).

TET

Total Extension Time

The total time spent, in milliseconds, calling actions provided by extensions.

TEE

Total Extension Executions

The total number of calls to actions provided by extensions.

TCIT

Total Consumed Integration Time

The total time spent, in milliseconds, calling actions provided by consumed integrations (SOAP, REST, SAP).

TCIE

Total Consumed Integration Executions

The total number of calls to actions provided by consumed integrations (SOAP, REST, SAP).

IP

Client IP

The client's public IP address, collected from the X-FORWARDED-FOR header, or if that doesn't exist, from the REMOTE_ADDR header.

SAT

Session Acquisition Time

The time spent, in milliseconds, retrieving the session from the database.

SS

Session Size

The session size, in bytes

VSS

View State Size

The view state, in bytes.

UID

User Id

The unique identifier of the user that made the request. It corresponds to the user's identifier stored in the User system entity.

If the request was made by an anonymous user, the User Id is not included in the event attributes.

Request Event Details for QueryExecuted Event

This event occurs when OutSystems Platform detects a slow query. The event's properties are the following:

Property

Meaning

Description

TK

Tenant Key

A unique key identifying the tenant.

TN

Tenant Name

The name of the tenant.

AK

Action Key

The key of the action that was handling the request.

AN

Action Name

The name of the action that was handling the request. Actions include the Preparation action and Screen Actions.

 

Note: If the web screen does not have a Preparation action, or if a cached version was served, then the ActionName is "(PageRender)".

EK

Environment Key

The unique key identifying the environment the user was accessing.

EN

Environment Name

The name of the environment the user was accessing.

EPK

EndPoint Key

The key of the web screen that was handling the request.

EPN

EndPoint Name

The name of the web screen that was handling the request.

FN

Front-end Name

The name of the front-end server that handled the request.

D

Duration

The total duration of all the slow query executions.

OK

Object Key

The key that identifies the slow query.

ON

Object Name

The name of the slow query.

NE

Number of Executions

The total number of calls for a given slow query.

OEK

Object’s eSpace Key

The key of the application module where the slow query was called.

OEN

Object’s eSpace Name

The name of the application module where the slow query was called.

Request Event Details for ConsumedIntegrationExecuted Event

This event occurs when the OutSystem Platform detects a slow consumed integration. The event's properties are the following:

Property

Meaning

Description

TK

Tenant Key

A unique key identifying the tenant.

TN

Tenant Name

The name of the tenant.

EK

Environment Key

The unique key identifying the environment the user was accessing.

EN

Environment Name

The name of the environment the user was accessing.

FN

Front-end Name

The name of the front-end server that handled the request.

ON

Object Name

The name of the slow integration method.

OK

Object Key

The key that identifies the slow integration method.

OEN

Object's eSpace Name

The name of the application module where the slow integration was called.

OEK

Object's eSpace key

The key of the application module where the slow integration was called.

NE

Number of Executions

The total number of calls for a given slow integration.

D

Duration

The total duration of all the slow integration executions.

EPN

EndPoint Name

The name of the web screen that was handling the request.

EPK

EndPoint Key

The key of the web screen that was handling the request.

AN

Action Name

The name of the action that was handling the request. Actions include the Preparation action and Screen Actions.

 

Note: If the web screen does not have a Preparation action, or if a cached version was served, then the ActionName is "(PageRender)".

AK

Action Key

The key of the action that was handling the request.

IT

Integration Type

The integration type. Current supported integration types: SOAP, REST and SAP.

IE

Integration Endpoint

The integration's endpoint URL.

Request Event Details for ExtensionExecuted Event

This event occurs when the OutSystem Platform detects a slow extension action. The event's properties are the following:

Property

Meaning

Description

TK

Tenant Key

A unique key identifying the tenant.

TN

Tenant Name

The name of the tenant.

EK

Environment Key

The unique key identifying the environment the user was accessing.

EN

Environment Name

The name of the environment the user was accessing.

FN

Front-end Name

The name of the front-end server that handled the request.

OK

Object key

The key that identifies the slow extension's action.

ON

Object name

The name of the slow extension's action.

OEK

Object's eSpace key

The key of the eSpace where the slow extension action was called.

OEN

Object's eSpace name

The name of the eSpace where the slow extension action was called.

NE

Number of Executions

The total number of calls for a given slow extension’s action.

D

Duration

The total duration of all the slow extension executions.

EPK

EndPoint Key

The key of the web screen that was handling the request.

EPN

EndPoint Name

The name of the web screen that was handling the request.

AK

Action Key

The key of the action that was handling the request.

AN

Action Name

The name of the action that was handling the request. Actions include the Preparation action and Screen Actions.


Note: If the web screen does not have a Preparation action, or if a cached version was served, then ActionName is "(PageRender)".

See Also

About APIs | How Application Performance Is Measured