{
"@components": [
{
"name": "Hamburg",
"category": "shop",
"connectorType": "HTTP",
"location": "burgershop-hamburg.demo.moskito.org/burgershop/"
},
{
"name": "Munich",
"category": "shop",
"connectorType": "HTTP",
"location": "burgershop-munich.demo.moskito.org/burgershop/"
},
{
"name": "Montreal",
"category": "shop",
"connectorType": "HTTP",
"location": "burgershop-montreal.demo.moskito.org/burgershop/"
}
],
"@actions": [
{
"type": "SHELL",
"name": "Hello World",
"component": "Munich",
"command": "echo Hello World",
"@parameters": []
}
],
"@charts": [
{
"name": "Orders",
"@lines": [
{
"component": "Hamburg",
"accumulator": "OrdersPerMinute"
},
{
"component": "Munich",
"accumulator": "OrdersPerMinute"
},
{
"component": "Montreal",
"accumulator": "OrdersPerMinute"
}
],
"limit": 100
},
{
"name": "Sessions",
"@lines": [
{
"component": "Hamburg",
"accumulator": "SessionCount Cur Absolute"
},
{
"component": "Munich",
"accumulator": "SessionCount Cur Absolute"
},
{
"component": "Montreal",
"accumulator": "SessionCount Cur Absolute"
}
],
"limit": 100
},
{
"name": "CPU",
"@lines": [
{
"component": "Hamburg",
"accumulator": "CPU Time 1m"
},
{
"component": "Munich",
"accumulator": "CPU Time 1m"
},
{
"component": "Montreal",
"accumulator": "CPU Time 1m"
}
],
"limit": 100
},
{
"name": "URL AVG",
"@lines": [
{
"component": "Hamburg",
"accumulator": "URL AVG 1m"
},
{
"component": "Munich",
"accumulator": "URL AVG 1m"
},
{
"component": "Montreal",
"accumulator": "URL AVG 1m"
}
],
"limit": 100
}
],
"@views": [
{
"name": "Burgershop",
"@componentCategories": [
"*"
],
"@charts": [
"*"
],
"@widgets": [
"*"
]
}
],
"@connectors": [],
"historyItemsAmount": 500,
"componentStatusTimeoutInSeconds": 300,
"notificationsMutingTime": 60,
"@statusUpdater": {
"threadPoolSize": 10,
"timeoutInSeconds": 60,
"checkPeriodInSeconds": 10,
"enabled": true
},
"@chartsUpdater": {
"threadPoolSize": 5,
"timeoutInSeconds": 60,
"checkPeriodInSeconds": 40,
"enabled": true
},
"enableAllView": false,
"@pluginsConfig": {
"@plugins": [
{
"name": "PagespeedPlugin",
"className": "org.moskito.control.plugins.pagespeed.PagespeedPlugin",
"configurationName": "pagespeedmoskito"
},
{
"name": "FileLogPlugin",
"className": "org.moskito.control.plugins.logfile.StatusLogFilePlugin",
"configurationName": "burgershop-log"
}
]
},
"@dataprocessing": {
"@processing": [
"const hundred 100",
"const constantOrderGoal 40",
"const constantEarningsGoal 18000",
"sum total.orderCount hamburg.orderCount,munich.orderCount,montreal.orderCount",
"sum total.earnings hamburg.earnings,munich.earnings,montreal.earnings",
"div total.earnings total.earnings,hundred",
"currency total.earnings total.earnings",
"sum total.requests hamburg.requests,munich.requests,montreal.requests",
"sum total.sessions hamburg.sessions,munich.sessions,montreal.sessions",
"int total.sessions total.sessions",
"int total.requests total.requests",
"div orderCountPercentOngoal total.orderCount,constantOrderGoal",
"div earningsPercentOngoal total.earnings,constantEarningsGoal",
"int total.earnings total.earnings",
"int total.orderCount total.orderCount",
"addstring total.earnings €",
"deviationPercent orderdeviation total.orderCount,previous.total.orderCount",
"ifglz orderCount.arrow orderdeviation,arrow-up,arrow-down,circle",
"sum orderCount.change orderdeviation",
"addstring orderCount.change %",
"const constantRevenueGoal 10000",
"div paymentsrevenuetodayongoal payments.revenue.today,constantRevenueGoal",
"int payments.revenue.today payments.revenue.today",
"deviationPercent payment.count.deviation payments.count.today,payments.count.sameYesterday",
"sum payment.count.change payment.count.deviation",
"ifglz payment.count.arrow payment.count.deviation,arrow-up,arrow-down,circle",
"addstring payment.count.change %",
"deviationPercent payment.revenue.deviation payments.revenue.today,payments.revenue.sameYesterday",
"sum payment.revenue.change payment.revenue.deviation",
"ifglz payment.revenue.arrow payment.revenue.deviation,arrow-up,arrow-down,circle",
"addstring payment.revenue.change %",
"addstring payments.revenue.today €",
"deviationPercent reg.total.deviation reg.total.today,reg.total.sameYesterday",
"sum reg.total.change reg.total.deviation",
"ifglz reg.total.arrow reg.total.deviation,arrow-up,arrow-down,circle",
"addstring reg.total.change %",
"deviationPercent reg.male.deviation reg.male.today,reg.male.sameYesterday",
"sum reg.male.change reg.male.deviation",
"ifglz reg.male.arrow reg.male.deviation,arrow-up,arrow-down,circle",
"addstring reg.male.change %",
"div reg2order payments.count.today,reg.male.today",
"mul reg2order reg2order,hundred,hundred",
"int reg2order reg2order",
"div reg2order reg2order,hundred",
"addstring reg2order %",
"max maxOrders hamburg.orderCount,munich.orderCount,montreal.orderCount",
"int maxOrders maxOrders",
"ifequals maxOrdersShop hamburg.orderCount,maxOrders,Hamburg",
"ifequals maxOrdersShop montreal.orderCount,maxOrders,Montreal",
"ifequals maxOrdersShop munich.orderCount,maxOrders,Munich"
],
"@preprocessing": [
"copy previous.total.orderCount total.orderCount"
],
"@widgets": [
{
"type": "NumberWithCompare",
"caption": "Total Orders per Minute",
"mapping": "number=total.orderCount, color=orderCount.color, change=orderCount.change, arrow=orderCount.arrow",
"name": "TotalOrdersPerMinute"
},
{
"type": "Number",
"caption": "Total Earnings per Hour",
"mapping": "number=total.earnings"
},
{
"type": "Number",
"caption": "Total Requests per Hour",
"mapping": "number=total.requests"
},
{
"type": "Number",
"caption": "Total Sessions",
"mapping": "number=total.sessions"
},
{
"type": "HalfGauge",
"caption": "Orders on Target",
"mapping": "number=total.orderCount, percent=orderCountPercentOngoal"
},
{
"type": "HalfGauge",
"caption": "Earnings on Target",
"mapping": "number=total.earnings, percent=earningsPercentOngoal"
},
{
"type": "Number",
"caption": "Most Orders",
"mapping": "number=maxOrders"
},
{
"type": "Number",
"caption": "Orders Leader",
"mapping": "number=maxOrdersShop"
}
],
"@retrievers": [
{
"name": "moskito-inspect-rest-api",
"configuration": "https://burgershop-hamburg.demo.moskito.org/burgershop/moskito-inspect-rest",
"@mappings": [
{
"variableName": "hamburg.orderCount",
"expression": "ShopService.placeOrder.req.1m.MILLISECONDS"
},
{
"variableName": "hamburg.earnings",
"expression": "sales.cumulated.Volume.1h.MILLISECONDS"
},
{
"variableName": "hamburg.requests",
"expression": "RequestURI.cumulated.Req.1h.MILLISECONDS"
},
{
"variableName": "hamburg.sessions",
"expression": "SessionCount.Sessions.Cur.default.MILLISECONDS"
}
]
},
{
"name": "moskito-inspect-rest-api",
"configuration": "https://burgershop-munich.demo.moskito.org/burgershop/moskito-inspect-rest",
"@mappings": [
{
"variableName": "munich.orderCount",
"expression": "ShopService.placeOrder.req.1m.MILLISECONDS"
},
{
"variableName": "munich.earnings",
"expression": "sales.cumulated.Volume.1h.MILLISECONDS"
},
{
"variableName": "munich.requests",
"expression": "RequestURI.cumulated.Req.1h.MILLISECONDS"
},
{
"variableName": "munich.sessions",
"expression": "SessionCount.Sessions.Cur.default.MILLISECONDS"
}
]
},
{
"name": "moskito-inspect-rest-api",
"configuration": "https://burgershop-montreal.demo.moskito.org/burgershop/moskito-inspect-rest",
"@mappings": [
{
"variableName": "montreal.orderCount",
"expression": "ShopService.placeOrder.req.1m.MILLISECONDS"
},
{
"variableName": "montreal.earnings",
"expression": "sales.cumulated.Volume.1h.MILLISECONDS"
},
{
"variableName": "montreal.requests",
"expression": "RequestURI.cumulated.Req.1h.MILLISECONDS"
},
{
"variableName": "montreal.sessions",
"expression": "SessionCount.Sessions.Cur.default.MILLISECONDS"
}
]
}
]
},
"trackUsage": true
}