Unknown macro: {search-box}

This documentation is for WSO2 Business Activity Monitor 2.3.0. View the home page of the latest release.

Skip to end of metadata
Go to start of metadata

Key Performance Indicators are quantifiable measurements that reflect the critical success factors of an organization. They will differ depending on the organization. 

  • A school may focus its Key Performance Indicators on graduation rates of its students.
  • A Customer Service Department may have as one of its Key Performance Indicators, percentage of customer calls answered in the first minute.
  • A Key Performance Indicator for a social service organization might be number of clients assisted during the year.

This sample develops and visualizes couple of KPIs (Key Performance Indicator) for a phone retail store. The developed KPIs are 

  1. Quantity sold from each phone model -  The owner wants to know the performance of his product line. Total sales for each of the phone model is required.
  2. Number of orders received by each customer - The owner wants to know the no of orders received by each customer. 

Sample Guide

  1. Start WSO2 BAM server with default settings.
  2. Go to 'WSO2_BAM_HOME/samples/kpi-definition/' directory
  3. Type 'ant' with in the directory from the console(This publishes the events to BAM)

    Note that you can give custom values for parameters for Data receiver URL, user name and password. Default values of them are as follows.

    ParameterDefault Value
    User Nameadmin

    Now lets see how new values can be given as parameters 

    ParameterNew Value
    User Nameuser

     Command with new values : ant -Durl=tcp://localhost:7612 -Dusername=user -Dpassword=pass123

Published event format (Stream definition)

 "name" : "org.wso2.bam.phone.retail.store.kpi",
 "version" : "1.0.0",
 "nickName" : "Phone_Retail_Shop",
 "description" : "Phone Sales",
 "metaData" : [
        { "name" : "clientType",
          "type" : "STRING"
        } ],
 "payloadData" : [
        { "name" : "brand",
          "type" : "STRING"
        { "name" : "quantity",
          "type" : "INT"        },
       { "name" : "total",
         "type" : "INT"       },
       { "name" : "user",
         "type" : "STRING"

Sample data 

   streamId = 'org.wso2.bam.phone.retail.store.kpi-1.0.0-97c75175-776d-4732-aa21-1b901c15778f',
   timeStamp = 1343723606667,
   metaData = [external],
   correlationData = null,
   payloadData = [Nokia, 2, 140000, Harry] 

4. Go to management console and login

5. Go to Main -> BAM Toolbox -> Add. Select 'Phone Retail Store Toolbox' and click on Install button. 

6.  Go to Main -> BAM Toolbox -> List. Wait until the 'KPI_Phone_Retail_Store' toolbox status changes to Installed.

7. Wait for some time, until script complete the first run after publishing the data. (Script will run in each minute)

If hive job is successful you will see the following message on BAM console. 

Ended Job = job_local_0001
Execution completed successfully
Mapred Local Task Succeeded . Convert the Join into MapJoin

8. Click on Main -> Gadgets -> View portal to see the populated gadgets on the summarized data.

Phone models sales summary

Sales summary by customers 


The Hive script associated with the default KPI Monitoring sample has Cassandra port set as 9160. If you change the port offset, you should manually change the Cassandra port as well by following these steps:

  1. After installing the tool box, log in to the management console, select List sub menu under Analytics menu. This will open the Available Scripts window.
  2. Set "cassandra.port" = "9161" in the phone_retail_store_script and Save.
  • No labels