Analyze Application Performance Hourly or Daily with REST API (version 1.0)

Use APPLICATIONS_HOURLY or APPLICATIONS_DAILY to view the performance of each discovered application running on a device, where the measurements are aggregated per hour or per day, along with the user, location and device details.

For example, if a user complains that an application was slow between 9-10am, you can check if the performance drop happened to just this application or across all applications (pointing to a device or infrastructure problem) by plotting a graph of the UXI of all applications on that device across that day.

Each returned entry from APPLICATIONS_HOURLY or APPLICATIONS_DAILY returns the discovered application (Application), its performance measurements like UXI, wait time, hang time, the device details, user details, and response times if it has activities. If you use $select to display only specific columns, it makes the query faster by grouping all rows with identical attribute values into a single row with aggregated measurements.

Note

For APPLICATIONS_HOURLY: You can access data using this API (retention) going back up to 31 days. If you do not add a relative_time filter, by default it returns data for the past seven days.

For APPLICATIONS_DAILY: You can access data using this API (retention) going back up to 92 days. If you do not add a relative_time filter, by default it returns data for the past seven days.

Before You Begin

To send a REST API query in Excel, PowerBI or a browser, enter the URL of the REST API, your Aternity username (must have the OData REST API role) and its password. You can find this by selecting User icon > REST API Access. SSO users must generate (once) and use a special password, as Aternity's REST API does not authenticate with your enterprise's identity provider.

To view an Aternity REST API, enter the base URL from User icon > REST API Access, followed by the name of the API: <base_url>/API_NAME into a browser, Excel or PowerBI (learn more). :

Tip

Wherever possible, use $select and $filter to narrow your query, to avoid receiving an error like Returned data is too large. Learn more.

Examples

To access this API from a browser, Excel or Power BI (learn more), enter <base_url>/APPLICATIONS_DAILY or <base_url>/APPLICATIONS_HOURLY

A typical query showing a classic aggregation for this API would be:

.../APPLICATIONS_HOURLY?$select=Application,Application_Type,Application_Version,Browser,Business_Location,Days_From_Last_Boot,Location_City,Location_Country,Location_Region,Location_State,Network_Type,On_Site,On_VPN,OS_Architecture,OS_Disk_Type,OS_Name,OS_Version,Serving_Device_Type,User_Department,Active_Time,Activity_Client_Time_Avg,Activity_Network_Time_Avg,Activity_Response_Avg,Activity_Score,Activity_Server_Time_Avg,Activity_Volume,Crashes,Errors,Hang_Time,Usage_Time,UXI,UXI_Weight,Wait_Time&$filter=relative_time(last_24_hours)

For APPLICATIONS_DAILY, the relative_time should be last_week.

To view the trend of UXI scores for one day of all applications on one device, select to view the UXI and timeframe columns while filtering for the last 24 hours for a specific device hostname. Enter:

.../APPLICATIONS_HOURLY?$select=timeframe,UXI,application&$filter=(SERVING_DEVICE_NAME eq 'hostname') and relative_time(last_24_hours)

To plot the hourly UXI for just one application, add a filter for that application name:

.../APPLICATIONS_HOURLY?$select=timeframe,UXI&$filter=(SERVING_DEVICE_NAME eq 'hostname') and relative_time(last_24_hours) and APPLICATION eq 'Microsoft Word'

Supported Parameters

You can view the data by entering the URL into Excel, into a browser, or into or any OData compatible application such as Power BI.

You can add parameters to the URL to filter the returned data, by adding a question mark (?) followed by a parameter and value, such as .../API_NAME?$filter=(USERNAME eq 'jsmith@company.com'), or several parameter-value pairs each separated by an ampersand (&), like .../API_NAME?$format=xml&$top=5.

Parameter Description
$select=

Use $select to return only specific columns (attributes), to make queries more efficient: ...API_NAME?$select=COL1,COL2,COL3

$filter=

Use $filter to insert conditions that narrow down the data, to return only entries where those conditions are true..

To limit the timeframe of a query, add $filter=relative_time() like, .../API_NAME?$filter=relative_time(last_x_hours) or (last_x_days). Learn more.

Create conditions with operators: and, or, eq (equals) gt (greater than), ge (greater than or equal), lt (less than), le (less than or equal), ge (greater than or equal to), ne (not equal to), le (less than or equal to), not and contains. Use operators with parentheses to group conditions logically: .../API_NAME?$filter=(COLUMN1 eq 'value1' or COL2 neq 'val2') and (COL3 gt number) and not (COL4 eq 'val4' or contains(COL5,'val5'))

$format=

Use $format to force the returned data to be either in XML or JSON format. This is only useful for testing the raw data in a web browser. For example: .../API_NAME?$format=xml

$orderby=

Use $orderby to sort the returned data according to the value you choose. For example, .../API_NAME?$orderby=LOCATION

$top=

Use $top (lower case only) when you are initially testing the response of the API by returning the first few entries.

For example, to return the first five entries (not sorted), use: ...API_NAME?$top=5

$search is NOT supported.

Do not use $search in Aternity's REST APIs.

If you use $select to display only specific columns, it makes the query faster by grouping all rows with identical attribute values into a single row with aggregated measurements. For example, if you use $select to return only the RAM size and CPU usage, if 50 devices have the same attribute of 16GB RAM, it condenses them into a single row and outputs their CPU usage as a single weighted average measurement.

Tip

Wherever possible, use $select and $filter to narrow your query, to avoid receiving an error like Returned data is too large. Learn more.

Output

Type Returned columns

Measurements

Active_Time,Activity_Client_Time_Avg,Activity_Network_Time_Avg,Activity_Response_Avg,Activity_Score,Activity_Server_Time_Avg,Activity_Volume,Crashes,Errors,Hang_Time,Page_Load_Client_Time_Avg,Page_Load_Network_Time_Avg,Page_Load_Server_Time_Avg,Page_Load_Time_Avg,Page_Load_Volume,Performance_Index,Performance_Weight,Remote_Display_Latency,Usage_Time,UXI,UXI_Weight,Wait_Time

Attributes

Account_ID,Account_Name,Application,Application_Identifier,Application_Type,Application_Version,Browser,Business_Location,Calendar_Date,Change_Pilot_Group,Channel,Client_Device_Name,Client_Device_Type,CPU_Cores,CPU_Frequency,CPU_Generation,CPU_Model,CPU_Type,Custom_Attribute_1 - 6,Data_Center_Location,Days_From_Last_Boot,Device_Manufacturer,Device_Model,Image_Build_Number,Line_Of_Business,Location_City,Location_Country,Location_Region,Location_State,Market,Machine_Power_Plan,Memory_Size,Mobile_Device_ID,MS_Office_License_Type,MS_Office_Version,Network_Type,On_Site,On_VPN,OS_Architecture,OS_Disk_Type,OS_Name,OS_Version,Serving_Device_Name,Serving_Device_Type,Store_ID,Store_Type,Subnet,Timeframe,User_Department,User_Domain,User_Email_Address,User_Full_Name,User_Office,User_Role,User_Title,Username,Virtualization,Wifi_BSSID,Wifi_SSID