Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The input data in this example use case consists of sales numbers in CSV format. This dataset is from here on, referred to as "sales". The data is collected in real-time from the regions "APAC", "AMERICAS", and "EMEA". We want to calculate the total-, average, and number of sales per minute. These numbers will be our KPIs, broken down per country and region.

Rw ui textbox macro
typeinfo

Example - Input Data

timestamp

region

country

amount

2017-03-08T13:53:52.123

EMEA

Sweden

123.50

2017-03-08T13:53:56.123

APAC

India

12.12

2017-03-08T13:53:59.123

AMERICAS

US

425.23

Step-by-Step Instructions

Ui tabs


Ui tab
titleConfigure Service Model

The service model describes your data, which KPIs to generate and how to calculate them. A JSON representation is used to describe the model, which includes the following top-level objects:

  • dimension
  • tree
  • metric
  • kpi
  • threshold (optional)

Configure the service model in a KPI profile. To create a new KPI profile profile, click the New Configuration button in the Build view, and then select KPI Profile.


Dimension and Tree Objects

Start with the dimension and tree objects. The dimensions describe the fields of your data that are used for grouping and the tree the relation between them. The identifying fields in the input data are region and country. A region has one or more countries. The data type is sales. In the dimension object we specify each of our identifying fields as separate objects, with the datatype and field.

Configuring Dimensions and Tree

JSON


xmlDimensions




Metrics

Define the metrics using the amount field in the input data:

  • totalSales - For total sales, sum up the amount for each record by using the sum function on the expression expr, which contains the amount field. 
  • avgSales  - For average sales  use the avg function instead of sum.
  • numSales - To count the number of records, use the conditional function isSet in the expression. This function evaluates to 1 if there is a value in amount or 0 if there is no value. Use the function sum to sum up the 1s and 0s.

Configuring Metrics

JSON


EclipseMetrics




KPIs

Define the KPIs. The expected output is the total sales, average sales, and number of sales per region and country in 60 second periods. 

Use the  property node to describe where in the topology the KPI should be calculated and windowSize to set the period length. Use the names of the metrics defined above in the expr property.  

Configuring KPIs

JSON


KPIs




Completing and Saving the Profile

Select the Aggregated Output checkbox and set the Window Size to 60, and Save the profile with the name "SalesModel" in the folder "kpisales".

JSON - Complete Model


Complete Model






Ui tab
titleCreate the Workflow

Create the real-time workflow. In this guide we will use Pulse agents to simulate sales data coming from three different sources, EMEA, AMERICAS, and APAC.


Add Pulse Agents and Analysis agent

Add three Pulse agents and an Analysis agent.
 

Workflow - Pulse Agents

Configure the Pulse agents as follows:

  • AMERICAS will send 1000 TPS -  Set Time Unit to MILLISECONDS and Interval to 100
  • EMEA will send 500 TPS - Set Time Unit to MILLISECONDS and Interval to 200
  • APAC will send 250 TPS - Set Time Unit to MILLISECONDS and Interval to 400

To be able to identify the data, set the data to the region name. 

Pulse agent configuration

The Pulse agents only sends us a simple event containing the name of the region, the other data that will be used in the KPI calculations are generated in the connected Analysis agent.

In the Analysis agent, click on the Set to Input button beneath UDR Types and paste the APL code below to create the input to KPI Management.

APL code



Adding KPI Agent

Add a KPI agent and configure it to use the KPI profile that you created in step 1. Set Delay to 0.

Workflow - KPI agent

KPI agent configuration


Adding an Analysis Agent for Debug

Add another Analysis agent for debugging of the KPIs. 

Final workflow configuration 

In the Analysis agent, click on the Set to Input button beneath UDR Types and paste the APL code below to the Analysis agent.

APL code



Save the workflow.




Ui tab
titleStart the Workflow



Open Workflow in Monitor

Open the workflow configuration in the Workflow Monitor. Enable debugging and select events for the KPI agent and the Analysis agent that produces the debug output.


Starting the Workflow

Ensure to have an ec running and click on the Start button.


Viewing Result

The calculated KPIs will be displayed in the debug output in the Workflow Monitor.

Note!

It will take a minute before the output is displayed due to the configuration of the windowSize property in the service model.

Debug output