diff --git a/README.md b/README.md
index bffd87ffa5..6267cc3a7a 100644
--- a/README.md
+++ b/README.md
@@ -1,43 +1,150 @@
-# ThingsBoard
-[](https://builds.thingsboard.io/viewType.html?buildTypeId=ThingsBoard_Build&guest=1)
+
+
+
+
+# Open-source IoT platform for data collection, processing, visualization, and device management.
+
+
+
+
+
+π‘ [Get started](https://thingsboard.io/docs/getting-started-guides/helloworld/) β’ π [Website](https://thingsboard.io/) β’ π [Documentation](https://thingsboard.io/docs/) β’ π [Blog](https://thingsboard.io/blog/) β’ βΆοΈ [Live demo](https://demo.thingsboard.io/signup) β’ π [LinkedIn](https://www.linkedin.com/company/thingsboard/posts/?feedView=all)
+
+
+
+## π Installation options
+
+* Install ThingsBoard [On-premise](https://thingsboard.io/docs/user-guide/install/installation-options/?ceInstallType=onPremise)
+* Try [ThingsBoard Cloud](https://thingsboard.io/installations/)
+* or [Use our Live demo](https://demo.thingsboard.io/signup)
+
+## π‘ Getting started with ThingsBoard
+
+Check out our [Getting Started guide](https://thingsboard.io/docs/getting-started-guides/helloworld/) or [watch the video](https://www.youtube.com/watch?v=80L0ubQLXsc) to learn the basics of ThingsBoard and create your first dashboard! You will learn to:
+
+* Connect devices to ThingsBoard
+* Push data from devices to ThingsBoard
+* Build real-time dashboards
+* Create a Customer and assign the dashboard with them.
+* Define thresholds and trigger alarms
+* Set up notifications via email, SMS, mobile apps, or integrate with third-party services.
+
+## β¨ Features
+
+
+
+
+
+
+
+
Provision and manage devices and assets
+
+
+
Provision, monitor and control your IoT entities in secure way using rich server-side APIs. Define relations between your devices, assets, customers or any other entities.
+
+
+
+
+
+
+
+
+
+
Collect and visualize your data
+
+
+
Collect and store telemetry data in scalable and fault-tolerant way. Visualize your data with built-in or custom widgets and flexible dashboards. Share dashboards with your customers.
+
+
+
+
+
+
+
+
+
+
+
+
SCADA Dashboards
+
+
+
Monitor and control your industrial processes in real time with SCADA. Use SCADA symbols on dashboards to create and manage any workflow, offering full flexibility to design and oversee operations according to your requirements.
+
+
+
+
+
+
+
+
+
+
Process and React
+
+
+
Define data processing rule chains. Transform and normalize your device data. Raise alarms on incoming telemetry events, attribute updates, device inactivity and user actions.
+
+
+
+
+
+
+
+
+
+## βοΈ Powerful IoT Rule Engine
+
+ThingsBoard allows you to create complex [Rule Chains](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/) to process data from your devices and match your application specific use cases.
+
+[](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
+
+
+
+[**Read more about Rule Engine β**](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
+
+
+
+## π¦ Real-Time IoT Dashboards
+
+ThingsBoard is a scalable, user-friendly, and device-agnostic IoT platform that speeds up time-to-market with powerful built-in solution templates. It enables data collection and analysis from any devices, saving resources on routine tasks and letting you focus on your solutionβs unique aspects. See more our Use Cases [here](https://thingsboard.io/iot-use-cases/).
+
+[**Smart energy**](https://thingsboard.io/use-cases/smart-energy/)
+
+[](https://thingsboard.io/use-cases/smart-energy/)
+
+[**SCADA swimming pool**](https://thingsboard.io/use-cases/scada/)
+
+[](https://thingsboard.io/use-cases/scada/)
+
+[**Fleet tracking**](https://thingsboard.io/use-cases/fleet-tracking/)
+
+[](https://thingsboard.io/use-cases/fleet-tracking/)
+
+[**Smart farming**](https://thingsboard.io/use-cases/smart-farming/)
+
+[](https://thingsboard.io/use-cases/smart-farming/)
-ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.
-
-
-
-
-## Documentation
-
-ThingsBoard documentation is hosted on [thingsboard.io](https://thingsboard.io/docs).
-
-## IoT use cases
-
-[**Smart energy**](https://thingsboard.io/smart-energy/)
-[](https://thingsboard.io/smart-energy/)
-
-[**SCADA Swimming pool**](https://thingsboard.io/use-cases/scada/)
-[](https://thingsboard.io/use-cases/scada/)
-
-[**Fleet tracking**](https://thingsboard.io/fleet-tracking/)
-[](https://thingsboard.io/fleet-tracking/)
-
-[**Smart farming**](https://thingsboard.io/smart-farming/)
-[](https://thingsboard.io/smart-farming/)
+[**Smart metering**](https://thingsboard.io/smart-metering/)
-[**IoT Rule Engine**](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
-[](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
+[](https://thingsboard.io/smart-metering/)
-[**Smart metering**](https://thingsboard.io/smart-metering/)
-[](https://thingsboard.io/smart-metering/)
+
-## Getting Started
+[**Check more of our use cases β**](https://thingsboard.io/iot-use-cases/)
-Collect and Visualize your IoT data in minutes by following this [guide](https://thingsboard.io/docs/getting-started-guides/helloworld/).
+
-## Support
+## π«Ά Support
- - [Stackoverflow](http://stackoverflow.com/questions/tagged/thingsboard)
+To get support, please visit our [GitHub issues page](https://github.com/thingsboard/thingsboard/issues)
-## Licenses
+## π Licenses
-This project is released under [Apache 2.0 License](./LICENSE).
+This project is released under [Apache 2.0 License](./LICENSE)
diff --git a/application/src/main/data/json/system/widget_bundles/home_page_widgets.json b/application/src/main/data/json/system/widget_bundles/home_page_widgets.json
index a30d6ee76f..2701abcb84 100644
--- a/application/src/main/data/json/system/widget_bundles/home_page_widgets.json
+++ b/application/src/main/data/json/system/widget_bundles/home_page_widgets.json
@@ -13,6 +13,7 @@
"home_page_widgets.quick_links",
"home_page_widgets.documentation_links",
"home_page_widgets.dashboards",
- "home_page_widgets.usage_info"
+ "home_page_widgets.usage_info",
+ "api_usage"
]
}
\ No newline at end of file
diff --git a/application/src/main/data/json/system/widget_types/api_usage.json b/application/src/main/data/json/system/widget_types/api_usage.json
new file mode 100644
index 0000000000..9d6f2bc464
--- /dev/null
+++ b/application/src/main/data/json/system/widget_types/api_usage.json
@@ -0,0 +1,35 @@
+{
+ "fqn": "api_usage",
+ "name": "API Usage",
+ "deprecated": false,
+ "image": "tb-image;/api/images/system/api-usage-widget.png",
+ "description": null,
+ "descriptor": {
+ "type": "latest",
+ "sizeX": 7.5,
+ "sizeY": 3,
+ "resources": [],
+ "templateHtml": "\n ",
+ "templateCss": "#container {\n overflow: auto;\n}\n\n.tbDatasource-container {\n margin: 5px;\n padding: 8px;\n}\n\n.tbDatasource-title {\n font-size: 1.200rem;\n font-weight: 500;\n padding-bottom: 10px;\n}\n\n.tbDatasource-table {\n width: 100%;\n box-shadow: 0 0 10px #ccc;\n border-collapse: collapse;\n white-space: nowrap;\n font-size: 1.000rem;\n color: #757575;\n}\n\n.tbDatasource-table td {\n position: relative;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n padding: 0px 18px;\n box-sizing: border-box;\n}",
+ "controllerScript": "self.onInit = function() {\n self.ctx.$scope.apiUsageWidget.onInit();\n}\n\nself.typeParameters = function() {\n return {\n hideDataTab: true,\n hideDataSettings: true,\n datasourcesOptional: true,\n previewWidth: '400px',\n previewHeight: '300px'\n };\n}",
+ "settingsForm": [],
+ "dataKeySettingsForm": [],
+ "settingsDirective": "tb-api-usage-widget-settings",
+ "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Random\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.15479322438769105,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -1000) {\\n\\tvalue = -1000;\\n} else if (value > 1000) {\\n\\tvalue = 1000;\\n}\\nreturn value;\"}]}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"#fff\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0\",\"settings\":{},\"title\":\"API usage\",\"decimals\":null,\"showTitleIcon\":false,\"titleTooltip\":\"\",\"dropShadow\":true,\"enableFullscreen\":false,\"widgetStyle\":{},\"widgetCss\":\".tb-widget-header {\\n height: 48px;\\n align-items: center !important;\\n padding: 5px 10px 0 10px;\\n}\",\"titleStyle\":{},\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"actions\":{\"headerButton\":[{\"name\":\"Go back\",\"buttonType\":\"stroked\",\"showIcon\":true,\"icon\":\"undo\",\"buttonColor\":\"#305680\",\"buttonBorderColor\":\"#0000001F\",\"customButtonStyle\":{\"padding\":\"0 16px\"},\"useShowWidgetActionFunction\":true,\"showWidgetActionFunction\":\"return widgetContext.stateController.getStateId() !== widgetContext.settings.targetDashboardState && widgetContext.settings.targetDashboardState;\",\"type\":\"custom\",\"customFunction\":\"const state = widgetContext.settings.targetDashboardState?.length ? widgetContext.settings.targetDashboardState : 'default';\\nwidgetContext.stateController.updateState(state, widgetContext.stateController.getStateParams(), false);\",\"openInSeparateDialog\":false,\"openInPopover\":false,\"id\":\"1ea1cca6-47d1-3539-d051-9535129fb12b\"}]},\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":null,\"weight\":\"500\",\"style\":null,\"lineHeight\":\"21px\"},\"borderRadius\":\"4px\"}"
+ },
+ "resources": [
+ {
+ "link": "/api/images/system/api-usage-widget.png",
+ "title": "\"API Usage\" system widget image",
+ "type": "IMAGE",
+ "subType": "IMAGE",
+ "fileName": "api-usage-widget.png",
+ "publicResourceKey": "1TAYhxLWInZC20Xrn8PgbNbQs6fX8Pir",
+ "mediaType": "image/png",
+ "data": "iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAChVBMVEUAAADs7Ozd3d3f4+Xd4eLN0tLP0dTg4+Xp6en////y9ffx9/Pt7e0ZgDjl7uvh5Oawvs/7+/vx8fHO1+H9/f31+ffu7u78/f3s8fH9/v6Eu5Xg7uX6/PxHaY7i5efI0t1VdJf5+vvx9PaNornv8vVOb5NffJ262cRphaNaeJrs7/Ouvc2Wqb+BmLKmpqZjgJ9ip3ft8PXBzdmsu8yEm7Rviaf3+Pra4empqann7PHQ2eK/y9i3xNPD3stXdpi8vLyGnbVsh6VRcZV+t5A7X4ff5evW3ebU3eXN1+GzwdHOzs6pucuarcGQpbt7k66OwZ46klXc7OKcrsKx1Lytrq53kaxyjKhDZYs+Yoni5+3L4tOitMeKn7dmgqH09vn09PS6x9V1jqrm6/DT2+TEz9vX2NnV1dbHyMmltsisrKxhfp5cepuJvplLbZHj6e7d3d2hssWer8PBwcGoz7R0sojp7fLj8Oe/3MiYq8C4ubm1tbWvsLCeyauCuZQ3XIRepnTl6u/p8+zc4+rk5OTK1N/O5Na4xdSxv9CTp71+lrCSw6F4tItnq30cgTr29vbt8vTq6urh4eHU59rR5tefn6CMv5zd5OvX3+fIy8yt0riHvZj19/nm5+ja2tvR09S+v8B7to1ur4FkqXlPnmdHmWDz9fjZ4Oi8ydagscOVxaRxsYQqiUchhD/3+/jq8O/o6uzZ6t7Ly8uw07yysrKjzLCho6SVlpZao3Le4eOx1LuozbeZx6dWoW7t9e/c3uDC3czKysrDw8OytbaZm5xrrn8wjUze7eLO0NDI4c8zWYLg5uzV5t7FxcWOjo7v9vHY5+C01r7AydLKzc6nzLWBgoNCllzu8fMzg2RWAAAACXRSTlMA3Vrh2mBe3tXDgts5AAAPHUlEQVR42u3ch1sTZxzAcbr7eyEWaGw8uDR7r0JCAgkz7BFk7733kr2UvYTK0jpQqnW3bm3VWrXaveff0/cYLbXYQgiS0Hyf5y4hPjzw8T1y8X5EBweHl154zcZ74WUH3ItcZPPxX8TrsQ0cWPKywwtoW/SKw5toW/SaHWLG17qE0OVj6LWPEHrzE4SjdsWlP6PLpcdQyWV8/7JNQAK++wiVPnoHBdxC6GYHfoCbhPC94yVoZm6G++hTxP/1uE1A0Kd4Kd7BkEcfXZ6hIMe/wLtb5SV8JSq/fPMm951HNgZ5J6ntZwrSwacOr12PdilR0uWZ0i9unrAxSIny5msYculT/Bj/BJrhz6Cb/Jnfb31qK5B3jiFUXIy++Kj4i8ulCJ14DeG+TSpF7+CtDZ04dvwT24A80S682ebT75PZIf8XSHgrzgf9Wz7W+0p5BaR3yD9rSIreRsgD4fDt4h3+0gd4l1pA3XL5Cx/zKZXH0oYfw4/89Xmr1HmRtnof7jC7XasfWkG+SMZkR7CFPJSWwnTeJxF7IWZQtTM3v9JfF10tqe9ORuhgWlBqsiQIydjGojNslQKliCXpkf5sGUrx98+SqiqDuMMV7Aj0ZDvGaZaG4LhPhaSgM2d9U1Gajyw5wsjyfZsZGuHPqkB1muh8tLAiB5kosJXbzU11jgnKq4yI5Kb6eobqz9ar9GyUkBWdbWCzhOdYhejJ4mmbAeE/FRKLyoIiQ1CaNDIfFSn8+cyaXkFeChpKjlYsQaoRrx6FvN0tb1WjvORsFMYzhms09RUsFTqXlSBsbQ2riWHnoSd7+7NnuiIYMuyVtQgpqpQxm5iB+RofQb0kj4IY6/6E8PNj5ZlD2dHVPgK1pChFk18prW6tzAqvrsv3kWSm1KF/9MP8W6u3e5fZcdGqkKJQ1NuP+JEsX74v9yALva4+g5iGIT5Kl0UgHT7sC4cQkuYhfRiK5HIHIz0QS40/RcZCPrKIQaSXKWKQTq1HPs5nuciMNvU8wqxBay1ZVRGK1pP9hGg9kG/wCcDdHS106RtkRu6NcXFjO7YE8nFwcMby/a4fELp2By00fQStv0txNFzcjq2AnMTb7tkLlwaCg3d1BTfGX7uzo2vePb5xzBzILOUYCx7bohXZtf/S3ZaM+2MtXQPfdF27s/vGndngbzLMgXx46iJt7JfxuK1akf2oU3Tk8BFR1w87Gq/dCT5/J6Nxx7R5kPtuv4zT4rZoRe5TkLuNe691Ne6/f+3OwP7g+/f3N5oD2U071YlfvAVv6bPW28u7hT3fvH8nL/6wX0I2fx7ZEfzbb8GXtvw8spTtnxCRHWKH2EqvOZxz3hadc/jp9W3RTw5vwLbIyQ6xsuwQa+uZQhjAYcDChveAc8GPuQIQrgRw6IA3m4AcKC+GpACAR1GUqQ0gt+Mm0JUNbdDxsBxmHgB8V2sTkKSSY5CkJJxuUZDjkxhDeMOBE+CNbzq03t4wecs2ILdqla5JD4rbSilIO1Dhb/5bUHKSoN1V2dDX0WAZiJSF48Aa6meBGSnh28mkXO/yEgxxfbgEcQpYWJFyhjLX+3qpZSA6kyDFhODfEucAVUIMUNUZYD2VXE+it00EFM+VADTkAiyuy/X2B3CiPQCuQ8exqEkLHVpentCvEEuTxXmQwhMWkpqgTEjWqMJBXaE5ylJ4qbsDqe9fpYrJGRGrdQJJ05A4FoEZHYPVsxzEV9VU2B/KhLR0tUJfqW0lmb2e2aFsjilmKFsKTARQI9AGxvQaPNLoWTIoOz3iDFbRPyAKYKl4aZDGORtL1FdqgMmXCjyTwRA7pIEFSL8XPrQOCXndnCwZka8QZoJVtArEZDKELED6swpSEXOwLqWpOjw5moJU6wE8mIVeMWWK/m6tadgj7YzYGiGRB+HMWfDglcnJVlI3SKg1BmAm8KQQERhNhBkA8oYBoChQzcoZjkngfq3xyQtUF4FV9J/nESYfLNTAyfeogndarg/oa4foGGCZPlgas+91tGTEsz+z99A2A8J49pCd7z/7FTkkhU1I9F4cVeNOC8aAf4XkHQIqdSTYTisgHrFByac5gRVlkMnKC8zOSjey04fEIwhsohWQfQJSk5mZRUrCFJF1I2QqX54JzFC8OjbRSkglyLI0vqAYxBA5CAowhBWUXQBWGf1244UfnwJhhnk5R6aECWqWIAmBSJweKwML5ebmNgVLVTUDiBJhofjdsP6IvTTcSfqqELbpHJ2QBbLg7KEIFmSiAk26PjCBAxZqP95aDncSjuf3EFWd5z8QJdL3dJLk+fPmQA5TjlPzd59yaG1qH7q5kY/jdw/4NY9OV/n5nRcl7hG13Djv12IO5ORn47RTGRffWw1ChsKmRq3Iu7DH7/bsBb+q5p1josSuI6OiRtKsQ+vjC9c+zrhIi9uKiw97ExPdKYjb4f0tVaOziaLEFrfbGYmzu82BdNHmp/CLt8dbAYmfnr7XDN/vJDN6vu9pngJHR/h8AGDKvcecV24Xafglz/vNtn/JdPoU/mG/si2u/X6w034R25qzQ6wtJ4cDLtuiAw6Trtuiye1zaNkh1pUdYm3ZIeuvVukEtR1JLn0d5W9MKgGKywH3kAMQ0BYAJcpyp76k8omS6wBRbVYNORZwALyJqOIoeu2Due+coNwbAOjtAC5R4A0NfQwodymOivpuApRJVg0BDFHCXBQQSblzAW2ubUoAKK4F3IF2uNo246qEvodRAQ/7AiwFOcqC1SLQhiHeUFICAZ/AXGl5mxMFaSfwzrXcBd6A4ihvovZqVIn3daeNQdBXEnYmUKWzYbV6szYM+bZBmXt1pnRurrR4BjAktwEAiFsNpa4ND5VOUQHeb0SVPCif2CAkFXJCGDHkQV8M2WcqYwAAi8eC6EGeDvQ8Z899Mm1dtPwonOXpwZwmGABOE5Dr5JTLmSDwHYA+Vwri5OTkQv0JvJELHA5DS+RuDJLGKmND6lHP5HQ2YfRUlAHo2Hp2jTChTHyayYrlRYg9uotS1CxVhMD6rmyvhHSb0g4tQQpC8lWBAGWCfKOn8FCvpDAb1BSEiUfTw+x8QThYW38/tDJHgOkjwxBtqtSjAMBTTNeRFKSpWhuzDFHHwiECrK0VkKNi4GRLoyXJJp9kMFRkhwEQw8LknJGva2Ihs1LIOxTI9QJnGRko1JBgba31PCI3VHjCxnK867aG9jDWE7FuyMGyfthYjDjaWtprM+Npy0Lozx7iaAUQLlii2XHLQz6AtUOGwkBMWuZirfsa6rHAs1YhLw/KCvSDRKRJB+kmNWEIB7mO7ZUjp5+OkfPpCc4mLhFtCgNrbAWEK4io0PumsHVDKSwBR1AUKwt0hm6uVz0ZQnplyirIrwyx9Z7i8CCwxlZACpn5EhkYY2GkMp+pZwMABYGRQQgh00gI4YRANE+aLTaAVdS8Z0/zU8bT/pxQbYREIJWbIEzLzPFk8TL5X4HCF0MkYenVJAXRFzWlEWBWN1aMpzt7AL5sWfqOboAZjeKnjvHRVSGQKUyRxoZHJuTECk3EoDDfQ1eZXwEGSZOKEZatimCoIK/MI1lcv4Fh6JX4aSAy4qHqywFqzn5lGmDArKluBg332d4vt2QYeuMG+fjwu/GJtxs/rzo/eliU6Dc7Kjo8OmoO5MI4dgy8d2ErICfd3enUVHd69/7l8fR8cKe54+muYOygfbwlEEdHkoKMuXf5VYla7uJfGLjdfOV8i8gcyNj44fj3aLTGrYDgg2hKBFPNPaOiK18mdrp8Hk8/fNeR7LydAetvanw8Dv+0T9n+lcY91Jh9z3a4ZLqzpcXRfu3XirNDrK1tBKl12hbVbp8VsUOsKzvE2rJD1t9kexTgXCcBXL6YBE5b28QbJwCcGmwNoiQ6cvHNCbybO3EVSj/pa+j71RXaZ2wNgmfpxwCIdsDVXoX2XG1H3/UAl3LvrYRwPcyFzBUvQ1wnrvc1eEcVKzcBkhUBK6ObKlN8YKnYUKAKL8A7ffUg/K1+bk72f0IOKDkA7fQlyPHSq1F9DcdvEZsB8fKEQk+ttBcONmkNhVBUQUSOQJOhCfS6dH1OaKiB7yEe5oBWMSIt1OaEcwrDWQSkG1ABW032A6NID9rwwn5YvdwHBwBcShfv469aUkJMHGD0weSmQAa9hr1C/UFyMKi+wnMfs04KPsZzRq4g6HVVuCZ72FgjVByF014p6f5fhwl9QlrZBr1/jP8hgZzPhJQsr5jQtBgjC8zI0pDT9SNMkBT6QzivUg7SmGpfNQ90SFAAGBIJ7BqFLwAkJMACRADyOp4aCklVGJ+ZkwpNAvyXwIsGM7Ig5IwMKvRZ5/AIuk5ST6Q21cvz1MBS+WqgiC/woSDOBFO6DJH0Fi5AzskzYXABQqaSvf7WAPEwqsSkrzEojfD5qgDE2ewsqVBsjNRWiLM5ixB/YSyUGX0WIHJ/1SKkwD87FgIlC362pzVAAHLwpqWv+ABOk9QAHhbTRFL3EAELnYblji5P5zgk/FsE3dIR5p1HZBEbm7w5Wr6dW3BmJxzXltWPp7cNBB9amxCsHRLuA0LSMmtCt3iwKoRrqIHXtdIzEGrIAY4nvm0ClodYzmERRD/eInRFdDhjsL5fOnsCwjHWG9Nbh8We/ZJWIaEaFhZRU919Qo02hMFLVijIr+RCtV5SxgZrbAUkTGCqVHMEXqAIMqWFG6GpZnE8nQchjFQtPW1hPK0zxuwDq4j4PJ6xOkQnrNGhfdVGTqC8RufBJHrDsmT0JUi1NCeVpCAHw84yCTCraT+/HliKGm1cmYKF7vmBGWXE4WnotVUhkJItqQkaHJbXsIO8CFMFW1dUHdQNZWxpCMOX7a9egOgk+V5gXm9RELoLAEmHqmYXajzNIAFczBqGxr9PwxOruIGnvEShw2IIb1oCb4zl1yQkZ3lFT29oqjv7Yc+PwfvvVc0/zhAlxl+4MJ3xeMwcyEnKIXp8cqvm7NRU995d6t3TjvOiRLcutyNjO81akbjGU++L3t2ad08vvw187F6nX9WVz6tEiaNTjO+PuE+ZAzl1MePLd/G7dbcCMuvmNtAJflcy5qsGbs/O90xnOLp1xd+bn/3RrP9h4OJb+OjqtP0rjcE03F7S9iGQUXVERNiv/Vpvdoi1tY0gz8G26DmH5+mwDaI/7+Dw3DaQ0F91wD3/nJON9xxejz8ATqyBto+N2i0AAAAASUVORK5CYII=",
+ "public": true
+ }
+ ],
+ "scada": false,
+ "tags": null
+}
\ No newline at end of file
diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java
index befd0baec5..6a66887989 100644
--- a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java
+++ b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java
@@ -20,6 +20,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import jakarta.annotation.Nullable;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -60,7 +61,10 @@ import static org.thingsboard.server.controller.ControllerConstants.ENTITY_TYPE_
@RequestMapping(TbUrlConstants.RULE_ENGINE_URL_PREFIX)
@Slf4j
public class RuleEngineController extends BaseController {
- public static final int DEFAULT_TIMEOUT = 10000;
+
+ @Value("${server.rest.rule_engine.response_timeout:10000}")
+ public int defaultResponseTimeout;
+
private static final String MSG_DESCRIPTION_PREFIX = "Creates the Message with type 'REST_API_REQUEST' and payload taken from the request body. ";
private static final String MSG_DESCRIPTION = "This method allows you to extend the regular platform API with the power of Rule Engine. You may use default and custom rule nodes to handle the message. " +
"The generated message contains two important metadata fields:\n\n" +
@@ -85,7 +89,7 @@ public class RuleEngineController extends BaseController {
public DeferredResult handleRuleEngineRequest(
@Parameter(description = "A JSON value representing the message.", required = true)
@RequestBody String requestBody) throws ThingsboardException {
- return handleRuleEngineRequest(null, null, null, DEFAULT_TIMEOUT, requestBody);
+ return handleRuleEngineRequest(null, null, null, defaultResponseTimeout, requestBody);
}
@ApiOperation(value = "Push entity message to the rule engine (handleRuleEngineRequest)",
@@ -104,7 +108,7 @@ public class RuleEngineController extends BaseController {
@PathVariable("entityId") String entityIdStr,
@Parameter(description = "A JSON value representing the message.", required = true)
@RequestBody String requestBody) throws ThingsboardException {
- return handleRuleEngineRequest(entityType, entityIdStr, null, DEFAULT_TIMEOUT, requestBody);
+ return handleRuleEngineRequest(entityType, entityIdStr, null, defaultResponseTimeout, requestBody);
}
@ApiOperation(value = "Push entity message with timeout to the rule engine (handleRuleEngineRequest)",
diff --git a/application/src/main/resources/thingsboard.yml b/application/src/main/resources/thingsboard.yml
index 54c1442ea7..89be36f470 100644
--- a/application/src/main/resources/thingsboard.yml
+++ b/application/src/main/resources/thingsboard.yml
@@ -100,6 +100,9 @@ server:
rate_limits:
# Limit that prohibits resetting the password for the user too often. The value of the rate limit. By default, no more than 5 requests per hour
reset_password_per_user: "${RESET_PASSWORD_PER_USER_RATE_LIMIT_CONFIGURATION:5:3600}"
+ rule_engine:
+ # Default timeout for waiting response of REST API request to Rule Engine in milliseconds
+ response_timeout: "${DEFAULT_RULE_ENGINE_RESPONSE_TIMEOUT:10000}"
# Application info parameters
app:
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
index 6a806e7bc1..fc541ce4e4 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
@@ -16,9 +16,7 @@
package org.thingsboard.rule.engine.action;
import com.fasterxml.jackson.databind.JsonNode;
-import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
-import lombok.extern.slf4j.Slf4j;
import org.thingsboard.rule.engine.api.RuleNode;
import org.thingsboard.rule.engine.api.TbContext;
import org.thingsboard.rule.engine.api.TbNodeConfiguration;
@@ -31,18 +29,21 @@ import org.thingsboard.server.common.data.id.AlarmId;
import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.common.msg.TbMsg;
-@Slf4j
+import static com.google.common.util.concurrent.Futures.immediateFuture;
+import static com.google.common.util.concurrent.Futures.transform;
+import static com.google.common.util.concurrent.Futures.transformAsync;
+
@RuleNode(
type = ComponentType.ACTION,
name = "clear alarm", relationTypes = {"Cleared", "False"},
configClazz = TbClearAlarmNodeConfiguration.class,
nodeDescription = "Clear Alarm",
- nodeDetails =
- "Details - JS function that creates JSON object based on incoming message. This object will be added into Alarm.details field.\n" +
- "Node output:\n" +
- "If alarm was not cleared, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'metadata' will contains 'isClearedAlarm' property. " +
- "Message payload can be accessed via msg property. For example 'temperature = ' + msg.temperature ;. " +
- "Message metadata can be accessed via metadata property. For example 'name = ' + metadata.customerName;.",
+ nodeDetails = """
+ Details - JS function that creates JSON object based on incoming message. This object will be added into Alarm.details field.
+ Node output:
+ If alarm was not cleared, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'metadata' will contains 'isClearedAlarm' property.
+ Message payload can be accessed via msg property. For example 'temperature = ' + msg.temperature ;.
+ Message metadata can be accessed via metadata property. For example 'name = ' + metadata.customerName;.""",
configDirective = "tbActionNodeClearAlarmConfig",
icon = "notifications_off"
)
@@ -55,22 +56,26 @@ public class TbClearAlarmNode extends TbAbstractAlarmNode processAlarm(TbContext ctx, TbMsg msg) {
- String alarmType = TbNodeUtils.processPattern(this.config.getAlarmType(), msg);
- Alarm alarm;
- if (msg.getOriginator().getEntityType().equals(EntityType.ALARM)) {
- alarm = ctx.getAlarmService().findAlarmById(ctx.getTenantId(), new AlarmId(msg.getOriginator().getId()));
+ String alarmType = TbNodeUtils.processPattern(config.getAlarmType(), msg);
+
+ ListenableFuture alarmFuture;
+ if (msg.getOriginator().getEntityType() == EntityType.ALARM) {
+ alarmFuture = ctx.getAlarmService().findAlarmByIdAsync(ctx.getTenantId(), new AlarmId(msg.getOriginator().getId()));
} else {
- alarm = ctx.getAlarmService().findLatestActiveByOriginatorAndType(ctx.getTenantId(), msg.getOriginator(), alarmType);
+ alarmFuture = ctx.getAlarmService().findLatestActiveByOriginatorAndTypeAsync(ctx.getTenantId(), msg.getOriginator(), alarmType);
}
- if (alarm != null && !alarm.getStatus().isCleared()) {
- return clearAlarm(ctx, msg, alarm);
- }
- return Futures.immediateFuture(new TbAlarmResult(false, false, false, null));
+
+ return transformAsync(alarmFuture, alarm -> {
+ if (alarm != null && !alarm.getStatus().isCleared()) {
+ return clearAlarmAsync(ctx, msg, alarm);
+ }
+ return immediateFuture(new TbAlarmResult(false, false, false, null));
+ }, ctx.getDbCallbackExecutor());
}
- private ListenableFuture clearAlarm(TbContext ctx, TbMsg msg, Alarm alarm) {
+ private ListenableFuture clearAlarmAsync(TbContext ctx, TbMsg msg, Alarm alarm) {
ListenableFuture asyncDetails = buildAlarmDetails(msg, alarm.getDetails());
- return Futures.transform(asyncDetails, details -> {
+ return transform(asyncDetails, details -> {
AlarmApiCallResult result = ctx.getAlarmService().clearAlarm(ctx.getTenantId(), alarm.getId(), System.currentTimeMillis(), details);
if (result.isSuccessful()) {
return new TbAlarmResult(false, false, result.isCleared(), result.getAlarm());
@@ -79,4 +84,5 @@ public class TbClearAlarmNode extends TbAbstractAlarmNode
-
-
+
+
attribute.key
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.html
new file mode 100644
index 0000000000..7c32651f16
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.html
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ @for (api of apiUsages; track api){
+
+
+
{{ api.label }}
+
+
{{ api.current.value }} / {{ api.maxLimit.value }}
+
+
+
+
+
{{ ('api-usage.status.' + api.status.value) | translate }}
+
+ @if (api.status.value === 'enabled') {
+ check_circle
+ } @else {
+ warning
+ }
+
+
+
+
+
+
+ }
+
+
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.scss b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.scss
new file mode 100644
index 0000000000..7cbd58f5f7
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.scss
@@ -0,0 +1,125 @@
+/**
+ * Copyright Β© 2016-2025 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@import "../../../../../../../scss/constants";
+
+$enabled-color: #198038;
+$disabled-color: #D12730;
+$warning-color: #FAA405;
+
+.tb-no-notification-svg-color {
+ color: $tb-primary-color;
+}
+
+.tb-api-usage-panel {
+ > div:not(.tb-api-usage-overlay) {
+ z-index: 1;
+ }
+ .tb-api-usage-overlay {
+ position: absolute;
+ top: 12px;
+ left: 12px;
+ bottom: 12px;
+ right: 12px;
+ }
+ .tb-api-usage-content {
+ height: 100%;
+ min-height: 0;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .api-items-list {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ .api-item {
+ &.enabled {
+ .api-item-statistic-status {
+ color: $enabled-color;
+ }
+ .mat-mdc-progress-bar {
+ --mdc-linear-progress-active-indicator-color: #{$enabled-color};
+ }
+ }
+ &.disabled {
+ .api-item-statistic-status {
+ color: $disabled-color;
+ }
+ .mat-mdc-progress-bar {
+ --mdc-linear-progress-active-indicator-color: #{$disabled-color};
+ }
+ }
+ &.warning {
+ .api-item-statistic-status {
+ color: $warning-color;
+ }
+ .mat-mdc-progress-bar {
+ --mdc-linear-progress-active-indicator-color: #{$warning-color};
+ }
+ }
+
+ &:hover {
+ background-color: rgba(0, 0, 0, 0.06);
+ }
+ &.active {
+ background-color: rgba($tb-primary-color, 0.06);
+ .mat-divider {
+ --mat-divider-color: #{$tb-primary-color};
+ }
+ }
+
+ .api-item-content {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ gap: 8px;
+ padding: 5px 16px;
+ .api-item-title {
+ display: flex;
+ flex: 1;
+ font-size: 14px;
+ font-weight: 500;
+ color: $tb-primary-color;
+ }
+ .api-item-statistic {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ &-count {
+ font-size: 14px;
+ color: rgba(0, 0, 0, 0.54);
+ }
+ &-status {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 14px;
+ }
+ &-progress {
+ --mdc-linear-progress-track-height: 8px;
+ --mdc-linear-progress-active-indicator-height: 8px;
+ padding: 4px 0;
+ .mat-mdc-progress-bar {
+ border-radius: 6px;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.ts
new file mode 100644
index 0000000000..1401104352
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/cards/api-usage-widget.component.ts
@@ -0,0 +1,177 @@
+///
+/// Copyright Β© 2016-2025 The Thingsboard Authors
+///
+/// Licensed under the Apache License, Version 2.0 (the "License");
+/// you may not use this file except in compliance with the License.
+/// You may obtain a copy of the License at
+///
+/// http://www.apache.org/licenses/LICENSE-2.0
+///
+/// Unless required by applicable law or agreed to in writing, software
+/// distributed under the License is distributed on an "AS IS" BASIS,
+/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+/// See the License for the specific language governing permissions and
+/// limitations under the License.
+///
+
+import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit, TemplateRef, ViewEncapsulation } from '@angular/core';
+import { WidgetContext } from '@home/models/widget-component.models';
+import { backgroundStyle, ComponentStyle, overlayStyle } from '@shared/models/widget-settings.models';
+import { Observable } from 'rxjs';
+import { ImagePipe } from '@shared/pipe/image.pipe';
+import { DomSanitizer } from '@angular/platform-browser';
+import { DataKey, DatasourceType, widgetType } from "@shared/models/widget.models";
+import { WidgetSubscriptionOptions } from "@core/api/widget-api.models";
+import { formattedDataFormDatasourceData } from "@core/utils";
+
+import { UtilsService } from "@core/services/utils.service";
+import {
+ ApiUsageDataKeysSettings,
+ apiUsageDefaultSettings,
+ ApiUsageWidgetSettings
+} from "@home/components/widget/lib/settings/cards/api-usage-settings.component.models";
+
+@Component({
+ selector: 'tb-api-usage-widget',
+ templateUrl: './api-usage-widget.component.html',
+ styleUrls: ['api-usage-widget.component.scss'],
+ encapsulation: ViewEncapsulation.None
+})
+export class ApiUsageWidgetComponent implements OnInit, OnDestroy {
+
+ settings: ApiUsageWidgetSettings;
+
+ @Input()
+ ctx: WidgetContext;
+
+ @Input()
+ widgetTitlePanel: TemplateRef;
+
+ backgroundStyle$: Observable;
+ overlayStyle: ComponentStyle = {};
+ padding: string;
+
+ apiUsages = [];
+ currentState = '';
+ noDataDisplayMessageText: string;
+
+ private contentResize$: ResizeObserver;
+ private powers: {key: string, value: number}[] = [
+ { key: 'Q', value: 1e15 },
+ { key: 'T', value: 1e12 },
+ { key: 'B', value: 1e9 },
+ { key: 'M', value: 1e6 },
+ { key: 'K', value: 1e3 }
+ ];
+
+ constructor(private imagePipe: ImagePipe,
+ private utils: UtilsService,
+ private sanitizer: DomSanitizer,
+ private cd: ChangeDetectorRef) {
+ }
+
+ ngOnInit(): void {
+ this.ctx.$scope.apiUsageWidget = this;
+ this.settings = {...apiUsageDefaultSettings, ...this.ctx.settings};
+
+ this.parseApiUsages();
+
+ const ds = {
+ type: DatasourceType.entity,
+ name: '',
+ entityAliasId: this.settings.dsEntityAliasId,
+ dataKeys: this.getUniqueDataKeys(this.settings.dataKeys)
+ }
+
+ const apiUsageSubscriptionOptions: WidgetSubscriptionOptions = {
+ datasources: [ds],
+ useDashboardTimewindow: false,
+ type: widgetType.latest,
+ callbacks: {
+ onDataUpdated: (subscription) => {
+ const data = formattedDataFormDatasourceData(subscription.data);
+ this.apiUsages.forEach(key => {
+ const progress = data[0][key.maxLimit.key] !== 0 ? Math.min(100, ((data[0][key.current.key] / data[0][key.maxLimit.key]) * 100)) : 0;
+ key.progress = isFinite(progress) ? progress : 0;
+ key.status.value = data[0][key.status.key] ? data[0][key.status.key].toLowerCase() : 'enabled';
+ key.maxLimit.value = isFinite(data[0][key.maxLimit.key]) && data[0][key.maxLimit.key] !== 0 ? this.toShortNumber(data[0][key.maxLimit.key]) : 'β';
+ key.current.value = isFinite(data[0][key.current.key]) ? this.toShortNumber(data[0][key.current.key]) : 0;
+ });
+ this.cd.detectChanges();
+ }
+ }
+ };
+ this.ctx.subscriptionApi.createSubscription(apiUsageSubscriptionOptions, true).subscribe();
+
+ this.currentState = this.ctx.stateController.getStateId();
+ this.ctx.stateController.stateId().subscribe((state) => {
+ this.ctx.updateParamsFromData(true);
+ this.currentState = state;
+ this.cd.markForCheck();
+ });
+ this.backgroundStyle$ = backgroundStyle(this.settings.background, this.imagePipe, this.sanitizer);
+ this.overlayStyle = overlayStyle(this.settings.background.overlay);
+ this.padding = this.settings.background.overlay.enabled ? undefined : this.settings.padding;
+ }
+
+ updateState($event: MouseEvent, stateName: string) {
+ $event?.preventDefault();
+ if (stateName?.length) {
+ this.ctx.stateController.updateState(stateName, this.ctx.stateController.getStateParams(), this.ctx.isMobile);
+ }
+ }
+
+ parseApiUsages() {
+ this.settings.dataKeys.forEach((key) => {
+ this.apiUsages.push({
+ label: this.utils.customTranslation(key.label, key.label),
+ state: key.state,
+ progress: 0,
+ status: {key: key.status.name, value: 'enabled'},
+ maxLimit: {key: key.maxLimit.name, value: 'β'},
+ current: {key: key.current.name, value: 0},
+ });
+ })
+ }
+
+ getUniqueDataKeys(data: ApiUsageDataKeysSettings[]): DataKey[] {
+ const seenNames = new Set();
+ return data
+ .flatMap(item => [item.status, item.maxLimit, item.current])
+ .filter(key => {
+ if (seenNames.has(key.name)) {
+ return false;
+ }
+ seenNames.add(key.name);
+ return true;
+ });
+ };
+
+
+ ngOnDestroy() {
+ if (this.contentResize$) {
+ this.contentResize$.disconnect();
+ }
+ }
+
+ private toShortNumber(number: any, decimals = 1) {
+ if (!Number.isFinite(number) || number < 0) {
+ return '0';
+ }
+ for (const power of this.powers) {
+ if (number >= power.value) {
+ const reduced = number / power.value;
+ const rounded = Number(reduced.toFixed(decimals));
+ return `${rounded}${power.key}`;
+ }
+ }
+ return `${Number(number.toFixed(decimals))}`;
+ }
+
+ public onInit() {
+ const borderRadius = this.ctx.$widgetElement.css('borderRadius');
+ this.overlayStyle = {...this.overlayStyle, ...{borderRadius}};
+ this.cd.detectChanges();
+ }
+
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.html
new file mode 100644
index 0000000000..3ada7fc5a0
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.html
@@ -0,0 +1,85 @@
+
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.scss b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.scss
new file mode 100644
index 0000000000..0d690d5877
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.scss
@@ -0,0 +1,56 @@
+/**
+ * Copyright Β© 2016-2025 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@import '../../../../../../../../scss/constants';
+
+.tb-form-table-row.tb-api-usage-data-key-row {
+
+ .tb-source-field {
+ flex: 1 1 25%;
+ display: flex;
+ gap: 12px;
+ .tb-label-field {
+ flex: 1;
+ }
+ }
+
+ .tb-data-key-fields {
+ display: flex;
+ gap: 12px;
+ min-width: 0;
+ flex: 1 1 50%;
+ }
+
+ .tb-data-key-field {
+ flex: 1;
+ min-width: 0;
+ }
+
+ .tb-remove-button {
+ width: 40px;
+ min-width: 40px;
+ }
+
+ @media #{$mat-lt-lg} {
+ .tb-source-field {
+ flex-direction: column;
+ flex: 1 1 50%;
+ }
+ .tb-data-key-fields{
+ flex-direction: column;
+ flex: 1 1 50%;
+ }
+ }
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.ts
new file mode 100644
index 0000000000..df3e02f04b
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-data-key-row.component.ts
@@ -0,0 +1,156 @@
+///
+/// Copyright Β© 2016-2025 The Thingsboard Authors
+///
+/// Licensed under the Apache License, Version 2.0 (the "License");
+/// you may not use this file except in compliance with the License.
+/// You may obtain a copy of the License at
+///
+/// http://www.apache.org/licenses/LICENSE-2.0
+///
+/// Unless required by applicable law or agreed to in writing, software
+/// distributed under the License is distributed on an "AS IS" BASIS,
+/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+/// See the License for the specific language governing permissions and
+/// limitations under the License.
+///
+
+import {
+ ChangeDetectorRef,
+ Component,
+ DestroyRef,
+ EventEmitter,
+ forwardRef,
+ Input,
+ OnInit,
+ Output,
+ ViewEncapsulation
+} from '@angular/core';
+import {
+ ControlValueAccessor,
+ NG_VALUE_ACCESSOR,
+ UntypedFormBuilder,
+ UntypedFormGroup,
+ Validators
+} from '@angular/forms';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { DataKey, DatasourceType, widgetType } from '@shared/models/widget.models';
+import { DataKeyType } from '@shared/models/telemetry/telemetry.models';
+import {
+ ApiUsageDataKeysSettings,
+ ApiUsageSettingsContext
+} from "@home/components/widget/lib/settings/cards/api-usage-settings.component.models";
+import { Observable, of } from "rxjs";
+
+@Component({
+ selector: 'tb-api-usage-data-key-row',
+ templateUrl: './api-usage-data-key-row.component.html',
+ styleUrls: ['./api-usage-data-key-row.component.scss'],
+ providers: [
+ {
+ provide: NG_VALUE_ACCESSOR,
+ useExisting: forwardRef(() => ApiUsageDataKeyRowComponent),
+ multi: true
+ }
+ ],
+ encapsulation: ViewEncapsulation.None
+})
+export class ApiUsageDataKeyRowComponent implements ControlValueAccessor, OnInit {
+
+ DatasourceType = DatasourceType;
+ DataKeyType = DataKeyType;
+
+ widgetType = widgetType;
+
+ @Input()
+ disabled: boolean;
+
+ @Input()
+ dsEntityAliasId: string;
+
+ @Input()
+ context: ApiUsageSettingsContext;
+
+ @Output()
+ dataKeyRemoved = new EventEmitter();
+
+ dataKeyFormGroup: UntypedFormGroup;
+
+ modelValue: ApiUsageDataKeysSettings;
+
+ private propagateChange = (_val: any) => {};
+
+ constructor(private fb: UntypedFormBuilder,
+ private cd: ChangeDetectorRef,
+ private destroyRef: DestroyRef) {
+ }
+
+ ngOnInit() {
+ this.dataKeyFormGroup = this.fb.group({
+ label: [null, [Validators.required]],
+ state: [null, []],
+ status: [null, [Validators.required]],
+ maxLimit: [null, [Validators.required]],
+ current: [null, [Validators.required]]
+ });
+ this.dataKeyFormGroup.valueChanges.pipe(
+ takeUntilDestroyed(this.destroyRef)
+ ).subscribe(
+ () => this.updateModel()
+ );
+ }
+
+ registerOnChange(fn: any): void {
+ this.propagateChange = fn;
+ }
+
+ registerOnTouched(_fn: any): void {
+ }
+
+ setDisabledState(isDisabled: boolean): void {
+ this.disabled = isDisabled;
+ if (isDisabled) {
+ this.dataKeyFormGroup.disable({emitEvent: false});
+ } else {
+ this.dataKeyFormGroup.enable({emitEvent: false});
+ this.updateValidators();
+ }
+ }
+
+ writeValue(value: ApiUsageDataKeysSettings): void {
+ this.modelValue = value;
+ this.dataKeyFormGroup.patchValue(
+ {
+ label: value?.label,
+ state: value?.state,
+ status: value?.status,
+ maxLimit: value?.maxLimit,
+ current: value?.current
+ }, {emitEvent: false}
+ );
+ this.updateValidators();
+ this.cd.markForCheck();
+ }
+
+ editKey(keyType: 'status' | 'maxLimit' | 'current') {
+ const targetDataKey: DataKey = this.dataKeyFormGroup.get(keyType).value;
+ this.context.editKey(targetDataKey, this.dsEntityAliasId).subscribe(
+ (updatedDataKey) => {
+ if (updatedDataKey) {
+ this.dataKeyFormGroup.get(keyType).patchValue(updatedDataKey);
+ }
+ }
+ );
+ }
+
+ private updateValidators() {
+ }
+
+ private updateModel() {
+ this.modelValue = {...this.modelValue, ...this.dataKeyFormGroup.value};
+ this.propagateChange(this.modelValue);
+ }
+
+ fetchDashboardStates(searchText?: string): Observable> {
+ return of(this.context.callbacks.fetchDashboardStates(searchText));
+ }
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-settings.component.models.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-settings.component.models.ts
new file mode 100644
index 0000000000..7af2711e8f
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-settings.component.models.ts
@@ -0,0 +1,106 @@
+///
+/// Copyright Β© 2016-2025 The Thingsboard Authors
+///
+/// Licensed under the Apache License, Version 2.0 (the "License");
+/// you may not use this file except in compliance with the License.
+/// You may obtain a copy of the License at
+///
+/// http://www.apache.org/licenses/LICENSE-2.0
+///
+/// Unless required by applicable law or agreed to in writing, software
+/// distributed under the License is distributed on an "AS IS" BASIS,
+/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+/// See the License for the specific language governing permissions and
+/// limitations under the License.
+///
+
+import { IAliasController } from '@core/api/widget-api.models';
+import { WidgetConfigCallbacks } from '@home/components/widget/config/widget-config.component.models';
+import { DataKey, Widget, widgetType } from '@shared/models/widget.models';
+import { Observable } from "rxjs";
+import { BackgroundSettings, BackgroundType } from "@shared/models/widget-settings.models";
+import { DataKeyType } from "@shared/models/telemetry/telemetry.models";
+import { materialColors } from "@shared/models/material.models";
+
+export interface ApiUsageSettingsContext {
+ aliasController: IAliasController;
+ callbacks: WidgetConfigCallbacks;
+ widget: Widget;
+ editKey: (key: DataKey, entityAliasId: string, WidgetType?: widgetType) => Observable;
+ generateDataKey: (key: DataKey) => DataKey;
+}
+
+
+export interface ApiUsageWidgetSettings {
+ dsEntityAliasId: string;
+ dataKeys: ApiUsageDataKeysSettings[];
+ targetDashboardState: string;
+ background: BackgroundSettings;
+ padding: string;
+}
+
+export interface ApiUsageDataKeysSettings {
+ label: string;
+ state: string;
+ status: DataKey;
+ maxLimit: DataKey;
+ current: DataKey;
+}
+
+const generateDataKey = (label: string, status: string, maxLimit: string, current: string) => {
+ return {
+ label,
+ state: '',
+ status: {
+ name: status,
+ label: status,
+ type: DataKeyType.timeseries,
+ funcBody: undefined,
+ settings: {},
+ color: materialColors[0].value
+ },
+ maxLimit: {
+ name: maxLimit,
+ label: maxLimit,
+ type: DataKeyType.timeseries,
+ funcBody: undefined,
+ settings: {},
+ color: materialColors[0].value
+ },
+ current: {
+ name: current,
+ label: current,
+ type: DataKeyType.timeseries,
+ funcBody: undefined,
+ settings: {},
+ color: materialColors[0].value
+ }
+ }
+}
+
+export const apiUsageDefaultSettings: ApiUsageWidgetSettings = {
+ dsEntityAliasId: '',
+ dataKeys: [
+ generateDataKey('{i18n:api-usage.transport-messages}', 'transportApiState', 'transportMsgLimit', 'transportMsgCount'),
+ generateDataKey('{i18n:api-usage.transport-data-points}', 'transportApiState', 'transportDataPointsLimit', 'transportDataPointsCount'),
+ generateDataKey('{i18n:api-usage.rule-engine-executions}', 'ruleEngineApiState', 'ruleEngineExecutionLimit', 'ruleEngineExecutionCount'),
+ generateDataKey('{i18n:api-usage.javascript-function-executions}', 'jsExecutionApiState', 'jsExecutionLimit', 'jsExecutionCount'),
+ generateDataKey('{i18n:api-usage.tbel-function-executions}', 'tbelExecutionApiState', 'tbelExecutionLimit', 'tbelExecutionCount'),
+ generateDataKey('{i18n:api-usage.data-points-storage-days}', 'dbApiState', 'storageDataPointsLimit', 'storageDataPointsCount'),
+ generateDataKey('{i18n:api-usage.alarms-created}', 'alarmApiState', 'createdAlarmsLimit', 'createdAlarmsCount'),
+ generateDataKey('{i18n:api-usage.emails}', 'emailApiState', 'emailLimit', 'emailCount'),
+ generateDataKey('{i18n:api-usage.sms}', 'notificationApiState', 'smsLimit', 'smsCount'),
+ ],
+ targetDashboardState: 'default',
+ background: {
+ type: BackgroundType.color,
+ color: '#fff',
+ overlay: {
+ enabled: false,
+ color: 'rgba(255,255,255,0.72)',
+ blur: 3
+ }
+ },
+ padding: '0'
+};
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.html
new file mode 100644
index 0000000000..e96a654c44
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.scss b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.scss
new file mode 100644
index 0000000000..9543abb44b
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.scss
@@ -0,0 +1,62 @@
+/**
+ * Copyright Β© 2016-2025 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@import '../../../../../../../../scss/constants';
+
+.tb-map-data-layers {
+ .tb-form-table-header-cell {
+ &.tb-source-header {
+ flex: 1 1 50%;
+ }
+ &.tb-x-pos-header {
+ flex: 1 1 25%;
+ }
+ &.tb-y-pos-header {
+ flex: 1 1 25%;
+ }
+ &.tb-key-header {
+ flex: 1 1 50%;
+ }
+ &.tb-actions-header {
+ width: 80px;
+ min-width: 80px;
+ }
+ @media #{$mat-lt-lg} {
+ &.tb-source-header {
+ flex: 1 1 30%;
+ }
+ &.tb-x-pos-header, &.tb-y-pos-header {
+ flex: 1 1 35%;
+ }
+ &.tb-key-header {
+ flex: 1 1 70%;
+ }
+ }
+ @media #{$mat-xs} {
+ &.tb-x-pos-header, &.tb-y-pos-header {
+ display: none;
+ }
+ &.tb-key-header {
+ display: none;
+ }
+ }
+ }
+
+ .tb-form-table-body {
+ tb-api-usage-data-key-row {
+ overflow: hidden;
+ }
+ }
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.ts
new file mode 100644
index 0000000000..16fca5a94b
--- /dev/null
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/cards/api-usage-widget-settings.component.ts
@@ -0,0 +1,211 @@
+///
+/// Copyright Β© 2016-2025 The Thingsboard Authors
+///
+/// Licensed under the Apache License, Version 2.0 (the "License");
+/// you may not use this file except in compliance with the License.
+/// You may obtain a copy of the License at
+///
+/// http://www.apache.org/licenses/LICENSE-2.0
+///
+/// Unless required by applicable law or agreed to in writing, software
+/// distributed under the License is distributed on an "AS IS" BASIS,
+/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+/// See the License for the specific language governing permissions and
+/// limitations under the License.
+///
+
+import { Component, forwardRef } from '@angular/core';
+import {
+ DataKey,
+ DataKeyConfigMode,
+ WidgetSettings,
+ WidgetSettingsComponent,
+ widgetType
+} from '@shared/models/widget.models';
+import {
+ AbstractControl,
+ NG_VALUE_ACCESSOR,
+ UntypedFormArray,
+ UntypedFormBuilder,
+ UntypedFormGroup,
+ ValidationErrors,
+ ValidatorFn
+} from '@angular/forms';
+import { Store } from '@ngrx/store';
+import { AppState } from '@core/core.state';
+import {
+ ApiUsageDataKeysSettings,
+ apiUsageDefaultSettings,
+ ApiUsageSettingsContext
+} from "@home/components/widget/lib/settings/cards/api-usage-settings.component.models";
+import { deepClone } from "@core/utils";
+import { Observable, of } from "rxjs";
+import {
+ DataKeyConfigDialogComponent,
+ DataKeyConfigDialogData
+} from "@home/components/widget/lib/settings/common/key/data-key-config-dialog.component";
+import { MatDialog } from "@angular/material/dialog";
+import { CdkDragDrop } from "@angular/cdk/drag-drop";
+
+@Component({
+ selector: 'tb-api-usage-widget-settings',
+ templateUrl: './api-usage-widget-settings.component.html',
+ styleUrls: ['./../widget-settings.scss', 'api-usage-widget-settings.component.scss'],
+ providers: [
+ {
+ provide: NG_VALUE_ACCESSOR,
+ useExisting: forwardRef(() => ApiUsageWidgetSettingsComponent),
+ multi: true
+ }
+ ],
+})
+export class ApiUsageWidgetSettingsComponent extends WidgetSettingsComponent {
+
+ apiUsageWidgetSettingsForm: UntypedFormGroup;
+
+ context: ApiUsageSettingsContext;
+
+ constructor(protected store: Store,
+ private dialog: MatDialog,
+ private fb: UntypedFormBuilder) {
+ super(store);
+ }
+
+ ngOnInit() {
+ this.context = {
+ aliasController: this.aliasController,
+ callbacks: this.callbacks,
+ widget: this.widget,
+ editKey: this.editKey.bind(this),
+ generateDataKey: this.generateDataKey.bind(this)
+ };
+ }
+
+ protected doUpdateSettings(settingsForm: UntypedFormGroup, settings: WidgetSettings) {
+ settingsForm.setControl('dataKeys', this.prepareDataKeysFormArray(settings?.dataKeys), {emitEvent: false});
+ }
+
+ dataKeysFormArray(): UntypedFormArray {
+ return this.apiUsageWidgetSettingsForm.get('dataKeys') as UntypedFormArray;
+ }
+
+ trackByDataKey(index: number): any {
+ return index;
+ }
+
+ get dragEnabled(): boolean {
+ return this.dataKeysFormArray().controls.length > 1;
+ }
+
+ layerDrop(event: CdkDragDrop) {
+ const layer = this.dataKeysFormArray().at(event.previousIndex);
+ this.dataKeysFormArray().removeAt(event.previousIndex);
+ this.dataKeysFormArray().insert(event.currentIndex, layer);
+ }
+
+ removeDataKey(index: number) {
+ (this.apiUsageWidgetSettingsForm.get('dataKeys') as UntypedFormArray).removeAt(index);
+ }
+
+ addDataKey() {
+ const dataKey = {
+ label: '',
+ state: '',
+ status: null,
+ maxLimit: null,
+ current: null
+ };
+ const dataKeysArray = this.apiUsageWidgetSettingsForm.get('dataKeys') as UntypedFormArray;
+ const dataKeyControl = this.fb.control(dataKey, [this.apiUsageDataKeyValidator()]);
+ dataKeysArray.push(dataKeyControl);
+ }
+
+ protected settingsForm(): UntypedFormGroup {
+ return this.apiUsageWidgetSettingsForm;
+ }
+
+ protected defaultSettings(): WidgetSettings {
+ return apiUsageDefaultSettings;
+ }
+
+ protected prepareInputSettings(settings: WidgetSettings): WidgetSettings {
+ return {
+ dsEntityAliasId: settings?.dsEntityAliasId,
+ dataKeys: settings?.dataKeys,
+ targetDashboardState: settings?.targetDashboardState,
+ background: settings?.background,
+ padding: settings.padding
+ };
+ }
+
+ protected onSettingsSet(settings: WidgetSettings) {
+ this.apiUsageWidgetSettingsForm = this.fb.group({
+ dsEntityAliasId: [settings?.dsEntityAliasId],
+ dataKeys: this.prepareDataKeysFormArray(settings?.dataKeys),
+ targetDashboardState: [settings?.targetDashboardState],
+ background: [settings?.background, []],
+ padding: [settings.padding, []]
+ });
+ }
+
+ private prepareDataKeysFormArray(dataKeys: ApiUsageDataKeysSettings[]): UntypedFormArray {
+ const dataKeysControls: Array = [];
+ if (dataKeys) {
+ dataKeys.forEach((dataLayer) => {
+ dataKeysControls.push(this.fb.control(dataLayer, [this.apiUsageDataKeyValidator()]));
+ });
+ }
+ return this.fb.array(dataKeysControls);
+ }
+
+ protected validatorTriggers(): string[] {
+ return [];
+ }
+
+ protected updateValidators() {
+ }
+
+ apiUsageDataKeyValidator = (): ValidatorFn => {
+ return (control: AbstractControl): ValidationErrors | null => {
+ const value: ApiUsageDataKeysSettings = control.value;
+ if (!value?.label || !value?.current || !value?.maxLimit || !value?.status) {
+ return {
+ dataKey: true
+ }
+ }
+ return null;
+ };
+ };
+
+ private editKey(key: DataKey, entityAliasId: string, _widgetType = widgetType.latest): Observable {
+ return this.dialog.open(DataKeyConfigDialogComponent,
+ {
+ disableClose: true,
+ panelClass: ['tb-dialog', 'tb-fullscreen-dialog'],
+ data: {
+ dataKey: deepClone(key),
+ dataKeyConfigMode: DataKeyConfigMode.general,
+ aliasController: this.aliasController,
+ widgetType: _widgetType,
+ entityAliasId,
+ showPostProcessing: true,
+ callbacks: this.callbacks,
+ hideDataKeyColor: true,
+ hideDataKeyDecimals: true,
+ hideDataKeyUnits: true,
+ widget: this.widget,
+ dashboard: null,
+ dataKeySettingsForm: null,
+ dataKeySettingsDirective: null
+ }
+ }).afterClosed();
+ }
+
+ private generateDataKey(key: DataKey): DataKey {
+ return this.callbacks.generateDataKey(key.name, key.type, null, false, null);
+ }
+
+ fetchDashboardStates(searchText?: string): Observable> {
+ return of(this.callbacks.fetchDashboardStates(searchText));
+ }
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/widget-settings.module.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/widget-settings.module.ts
index fbf9b2eec2..9e4de41841 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/widget-settings.module.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/widget-settings.module.ts
@@ -375,6 +375,12 @@ import {
ValueStepperWidgetSettingsComponent
} from '@home/components/widget/lib/settings/control/value-stepper-widget-settings.component';
import { MapWidgetSettingsComponent } from '@home/components/widget/lib/settings/map/map-widget-settings.component';
+import {
+ ApiUsageWidgetSettingsComponent
+} from "@home/components/widget/lib/settings/cards/api-usage-widget-settings.component";
+import {
+ ApiUsageDataKeyRowComponent
+} from "@home/components/widget/lib/settings/cards/api-usage-data-key-row.component";
@NgModule({
declarations: [
@@ -508,7 +514,9 @@ import { MapWidgetSettingsComponent } from '@home/components/widget/lib/settings
LabelValueCardWidgetSettingsComponent,
UnreadNotificationWidgetSettingsComponent,
ScadaSymbolWidgetSettingsComponent,
- MapWidgetSettingsComponent
+ MapWidgetSettingsComponent,
+ ApiUsageWidgetSettingsComponent,
+ ApiUsageDataKeyRowComponent
],
imports: [
CommonModule,
@@ -647,7 +655,8 @@ import { MapWidgetSettingsComponent } from '@home/components/widget/lib/settings
LabelValueCardWidgetSettingsComponent,
UnreadNotificationWidgetSettingsComponent,
ScadaSymbolWidgetSettingsComponent,
- MapWidgetSettingsComponent
+ MapWidgetSettingsComponent,
+ ApiUsageWidgetSettingsComponent
]
})
export class WidgetSettingsModule {
diff --git a/ui-ngx/src/app/modules/home/components/widget/widget-components.module.ts b/ui-ngx/src/app/modules/home/components/widget/widget-components.module.ts
index cdc829a96f..fab51613d4 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget-components.module.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/widget-components.module.ts
@@ -94,6 +94,7 @@ import {
SelectMapEntityPanelComponent
} from '@home/components/widget/lib/maps/panels/select-map-entity-panel.component';
import { MapTimelinePanelComponent } from '@home/components/widget/lib/maps/panels/map-timeline-panel.component';
+import { ApiUsageWidgetComponent } from "@home/components/widget/lib/cards/api-usage-widget.component";
@NgModule({
declarations: [
@@ -151,7 +152,8 @@ import { MapTimelinePanelComponent } from '@home/components/widget/lib/maps/pane
ScadaSymbolWidgetComponent,
SelectMapEntityPanelComponent,
MapTimelinePanelComponent,
- MapWidgetComponent
+ MapWidgetComponent,
+ ApiUsageWidgetComponent
],
imports: [
CommonModule,
@@ -214,7 +216,8 @@ import { MapTimelinePanelComponent } from '@home/components/widget/lib/maps/pane
UnreadNotificationWidgetComponent,
NotificationTypeFilterPanelComponent,
ScadaSymbolWidgetComponent,
- MapWidgetComponent
+ MapWidgetComponent,
+ ApiUsageWidgetComponent
],
providers: [
{provide: WIDGET_COMPONENTS_MODULE_TOKEN, useValue: WidgetComponentsModule},
diff --git a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
index 8d46ede134..35c6fde3f1 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
@@ -71,6 +71,7 @@
diff --git a/ui-ngx/src/app/modules/home/models/widget-component.models.ts b/ui-ngx/src/app/modules/home/models/widget-component.models.ts
index 4a22129ba8..c582a21b3f 100644
--- a/ui-ngx/src/app/modules/home/models/widget-component.models.ts
+++ b/ui-ngx/src/app/modules/home/models/widget-component.models.ts
@@ -147,6 +147,7 @@ export interface WidgetAction extends IWidgetAction {
export interface IDashboardWidget {
updateWidgetParams(): void;
+ updateParamsFromData(detectChanges?: boolean): void;
}
export class WidgetContext {
@@ -478,6 +479,10 @@ export class WidgetContext {
}
}
+ updateParamsFromData(detectChanges = false) {
+ this.dashboardWidget.updateParamsFromData(detectChanges);
+ }
+
updateAliases(aliasIds?: Array) {
this.aliasController.updateAliases(aliasIds);
}
diff --git a/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts b/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts
index cd992f8886..341bbd2e06 100644
--- a/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts
+++ b/ui-ngx/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.ts
@@ -81,7 +81,9 @@ export class JsLibraryTableConfigResolver {
search: 'javascript.search',
selectedEntities: 'javascript.selected-javascript-resources'
};
- this.config.entityResources = entityTypeResources.get(EntityType.TB_RESOURCE);
+ this.config.entityResources = {
+ helpLinkId: 'jsExtension'
+ };
this.config.headerComponent = JsLibraryTableHeaderComponent;
this.config.entityTitle = (resource) => resource ?
diff --git a/ui-ngx/src/app/shared/components/icon.component.ts b/ui-ngx/src/app/shared/components/icon.component.ts
index 2b6170b71c..20ee9c4a72 100644
--- a/ui-ngx/src/app/shared/components/icon.component.ts
+++ b/ui-ngx/src/app/shared/components/icon.component.ts
@@ -33,6 +33,9 @@ import { Subscription } from 'rxjs';
import { take } from 'rxjs/operators';
import { isSvgIcon, splitIconName } from '@shared/models/icon.models';
import { ContentObserver } from '@angular/cdk/observers';
+import { isTbImage } from '@shared/models/resource.models';
+import { ImagePipe } from '@shared/pipe/image.pipe';
+import { DomSanitizer } from '@angular/platform-browser';
const _TbIconBase = mixinColor(
class {
@@ -70,7 +73,7 @@ const funcIriPattern = /^url\(['"]?#(.*?)['"]?\)$/;
host: {
role: 'img',
class: 'mat-icon notranslate',
- '[attr.data-mat-icon-type]': '!_useSvgIcon ? "font" : "svg"',
+ '[attr.data-mat-icon-type]': '_useSvgIcon ? "svg" : (_useImageIcon ? null : "font")',
'[attr.data-mat-icon-name]': '_svgName',
'[attr.data-mat-icon-namespace]': '_svgNamespace',
'[class.mat-icon-no-color]': 'color !== "primary" && color !== "accent" && color !== "warn"',
@@ -99,6 +102,9 @@ export class TbIconComponent extends _TbIconBase
private _textElement = null;
+ _useImageIcon = false;
+ private _imageElement = null;
+
private _previousPath?: string;
private _elementsWithExternalReferences?: Map;
@@ -109,6 +115,8 @@ export class TbIconComponent extends _TbIconBase
private contentObserver: ContentObserver,
private renderer: Renderer2,
private _iconRegistry: MatIconRegistry,
+ private imagePipe: ImagePipe,
+ private sanitizer: DomSanitizer,
@Inject(MAT_ICON_LOCATION) private _location: MatIconLocation,
private readonly _errorHandler: ErrorHandler) {
super(elementRef);
@@ -148,16 +156,29 @@ export class TbIconComponent extends _TbIconBase
private _updateIcon() {
const useSvgIcon = isSvgIcon(this.icon);
+ const useImageIcon = isTbImage(this.icon);
if (this._useSvgIcon !== useSvgIcon) {
this._useSvgIcon = useSvgIcon;
if (!this._useSvgIcon) {
this._updateSvgIcon(undefined);
} else {
this._updateFontIcon(undefined);
+ this._updateImageIcon(undefined);
+ }
+ }
+ if (this._useImageIcon !== useImageIcon) {
+ this._useImageIcon = useImageIcon;
+ if (!this._useImageIcon) {
+ this._updateImageIcon(undefined);
+ } else {
+ this._updateFontIcon(undefined);
+ this._updateSvgIcon(undefined);
}
}
if (this._useSvgIcon) {
this._updateSvgIcon(this.icon);
+ } else if (this._useImageIcon) {
+ this._updateImageIcon(this.icon);
} else {
this._updateFontIcon(this.icon);
}
@@ -278,4 +299,49 @@ export class TbIconComponent extends _TbIconBase
}
}
+ private _updateImageIcon(rawName: string | undefined) {
+ if (rawName) {
+ this._clearImageIcon();
+ this.imagePipe.transform(rawName, { asString: true, ignoreLoadingImage: true }).subscribe(
+ imageUrl => {
+ const urlStr = imageUrl as string;
+ const isSvg = urlStr?.startsWith('data:image/svg+xml') || urlStr?.endsWith('.svg');
+ if (isSvg) {
+ const safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(urlStr);
+ this._iconRegistry
+ .getSvgIconFromUrl(safeUrl)
+ .pipe(take(1))
+ .subscribe({
+ next: (svg) => {
+ this.renderer.insertBefore(this._elementRef.nativeElement, svg, this._iconNameContent.nativeElement);
+ this._imageElement = svg;
+ },
+ error: () => this._setImageElement(urlStr)
+ });
+ } else {
+ this._setImageElement(urlStr);
+ }
+ }
+ );
+ } else {
+ this._clearImageIcon();
+ }
+ }
+
+ private _setImageElement(urlStr: string) {
+ const imgElement = this.renderer.createElement('img');
+ this.renderer.addClass(imgElement, 'mat-icon');
+ this.renderer.setAttribute(imgElement, 'alt', 'Image icon');
+ this.renderer.setAttribute(imgElement, 'src', urlStr);
+ this.renderer.insertBefore(this._elementRef.nativeElement, imgElement, this._iconNameContent.nativeElement);
+ this._imageElement = imgElement;
+ }
+
+ private _clearImageIcon() {
+ const elem: HTMLElement = this._elementRef.nativeElement;
+ if (this._imageElement !== null) {
+ this.renderer.removeChild(elem, this._imageElement);
+ this._imageElement = null;
+ }
+ }
}
diff --git a/ui-ngx/src/app/shared/components/material-icon-select.component.ts b/ui-ngx/src/app/shared/components/material-icon-select.component.ts
index 9432b3c96e..2bbc5b7528 100644
--- a/ui-ngx/src/app/shared/components/material-icon-select.component.ts
+++ b/ui-ngx/src/app/shared/components/material-icon-select.component.ts
@@ -71,6 +71,10 @@ export class MaterialIconSelectComponent extends PageComponent implements OnInit
@coerceBoolean()
iconClearButton = false;
+ @Input()
+ @coerceBoolean()
+ allowedCustomIcon = false;
+
private requiredValue: boolean;
get required(): boolean {
return this.requiredValue;
@@ -169,7 +173,8 @@ export class MaterialIconSelectComponent extends PageComponent implements OnInit
this.viewContainerRef, MaterialIconsComponent, 'left', true, null,
{
selectedIcon: this.materialIconFormGroup.get('icon').value,
- iconClearButton: this.iconClearButton
+ iconClearButton: this.iconClearButton,
+ allowedCustomIcon: this.allowedCustomIcon,
},
{},
{}, {}, true);
diff --git a/ui-ngx/src/app/shared/components/material-icons.component.html b/ui-ngx/src/app/shared/components/material-icons.component.html
index d4d9fe93a6..b6880e4ffe 100644
--- a/ui-ngx/src/app/shared/components/material-icons.component.html
+++ b/ui-ngx/src/app/shared/components/material-icons.component.html
@@ -16,63 +16,86 @@
-->
-
icon.icons
-
- search
-
-
- close
-
-
-
-
-
-
- {{icon.name}}
-
-
- {{icon.name}}
-
-
+
+ icon.icons
+ @if (allowedCustomIcon) {
+
+ {{ 'resource.system' | translate }}
+ {{ 'icon.custom' | translate }}
+
+
+ }
+
+ @if (!isCustomIcon) {
+
+ search
+
+
+ close
+
+
+
+
+
+
+ {{icon.name}}
+
+
+ {{icon.name}}
+
+
+
+
+
+
+
+
{{ 'icon.no-icons-found' | translate:{iconSearch: searchIconControl.value} }}
+
+
+
+
+ {{ 'action.clear' | translate }}
+
+
+
+ {{ 'action.show-more' | translate }}
+
-
-
-
-
-
{{ 'icon.no-icons-found' | translate:{iconSearch: searchIconControl.value} }}
+ } @else {
+
+
+
+
+
+ {{ 'action.set' | translate }}
+
-
-
-
- {{ 'action.clear' | translate }}
-
-
-
- {{ 'action.show-more' | translate }}
-
-
+ }
diff --git a/ui-ngx/src/app/shared/components/material-icons.component.ts b/ui-ngx/src/app/shared/components/material-icons.component.ts
index ece1a99108..d144fd45e6 100644
--- a/ui-ngx/src/app/shared/components/material-icons.component.ts
+++ b/ui-ngx/src/app/shared/components/material-icons.component.ts
@@ -37,6 +37,7 @@ import { TbPopoverComponent } from '@shared/components/popover.component';
import { BreakpointObserver } from '@angular/cdk/layout';
import { MediaBreakpoints } from '@shared/models/constants';
import { coerceBoolean } from '@shared/decorators/coercion';
+import { isTbImage } from '@shared/models/resource.models';
@Component({
selector: 'tb-material-icons',
@@ -61,6 +62,10 @@ export class MaterialIconsComponent extends PageComponent implements OnInit {
@coerceBoolean()
showTitle = true;
+ @Input()
+ @coerceBoolean()
+ allowedCustomIcon = false;
+
@Input()
popover: TbPopoverComponent;
@@ -71,6 +76,8 @@ export class MaterialIconsComponent extends PageComponent implements OnInit {
showAllSubject = new BehaviorSubject(false);
searchIconControl: UntypedFormControl;
+ isCustomIcon = false;
+
iconsRowHeight = 48;
iconsPanelHeight: string;
@@ -122,14 +129,15 @@ export class MaterialIconsComponent extends PageComponent implements OnInit {
map((data) => data.iconRows),
share()
);
+ this.isCustomIcon = isTbImage(this.selectedIcon)
}
clearSearch() {
this.searchIconControl.patchValue('', {emitEvent: true});
}
- selectIcon(icon: MaterialIcon) {
- this.iconSelected.emit(icon.name);
+ selectIcon(icon: string) {
+ this.iconSelected.emit(icon);
}
clearIcon() {
diff --git a/ui-ngx/src/app/shared/models/constants.ts b/ui-ngx/src/app/shared/models/constants.ts
index 1617e46b58..f88c6a1216 100644
--- a/ui-ngx/src/app/shared/models/constants.ts
+++ b/ui-ngx/src/app/shared/models/constants.ts
@@ -177,6 +177,7 @@ export const HelpLinks = {
entitiesImport: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/bulk-provisioning`,
rulechains: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/ui/rule-chains`,
lwm2mResourceLibrary: `${helpBaseUrl}/docs${docPlatformPrefix}/reference/lwm2m-api`,
+ jsExtension: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/contribution/ui/advanced-development`,
dashboards: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/ui/dashboards`,
otaUpdates: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/ota-updates`,
widgetTypes: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/ui/widget-library/#widget-types`,
@@ -206,7 +207,7 @@ export const HelpLinks = {
mobileBundle: `${helpBaseUrl}/docs${docPlatformPrefix}/mobile-center/mobile-center/`,
mobileQrCode: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/ui/mobile-qr-code/`,
calculatedField: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/calculated-fields/`,
- aiModels: `${helpBaseUrl}/docs${docPlatformPrefix}/ai-models`,
+ aiModels: `${helpBaseUrl}/docs${docPlatformPrefix}/samples/analytics/ai-models/`,
timewindowSettings: `${helpBaseUrl}/docs${docPlatformPrefix}/user-guide/dashboards/#time-window`,
trendzSettings: `${helpBaseUrl}/docs/trendz/`
}
diff --git a/ui-ngx/src/app/shared/models/resource.models.ts b/ui-ngx/src/app/shared/models/resource.models.ts
index 0419e40a7c..c1e692e04f 100644
--- a/ui-ngx/src/app/shared/models/resource.models.ts
+++ b/ui-ngx/src/app/shared/models/resource.models.ts
@@ -188,6 +188,7 @@ export const isImageResourceUrl = (url: string): boolean => url && IMAGES_URL_RE
export const isJSResourceUrl = (url: string): boolean => url && RESOURCES_URL_REGEXP.test(url);
export const isJSResource = (url: string): boolean => url?.startsWith(TB_RESOURCE_PREFIX);
+export const isTbImage = (url: string): boolean => url?.startsWith(TB_IMAGE_PREFIX);
export const extractParamsFromImageResourceUrl = (url: string): {type: ImageResourceType; key: string} => {
const res = url.match(IMAGES_URL_REGEXP);
diff --git a/ui-ngx/src/assets/dashboard/api_usage.json b/ui-ngx/src/assets/dashboard/api_usage.json
index 9738e9ac0f..3fc49e171f 100644
--- a/ui-ngx/src/assets/dashboard/api_usage.json
+++ b/ui-ngx/src/assets/dashboard/api_usage.json
@@ -79,7 +79,6 @@
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"selectedTab": 0,
@@ -121,395 +120,2995 @@
"widgetCss": "",
"pageSize": 1024,
"noDataDisplayMessage": "",
- "configMode": "basic"
+ "configMode": "basic",
+ "borderRadius": "4px"
},
"id": "a669cf86-e715-efa4-dd9a-b839abf499e9",
"typeFullFqn": "system.cards.timeseries_table"
},
- "aab68ab5-8e40-8694-c55c-8eb1c89b88fb": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
+ "fa938580-33db-f1b3-fafc-bc3e3784ad57": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
"config": {
"datasources": [
{
"type": "entity",
- "name": null,
- "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
- "filterId": null,
+ "entityAliasId": "2e4c97b0-257a-a1b9-690c-141d9bf2ec6f",
"dataKeys": [
{
- "name": "transportMsgLimit",
+ "name": "successfulMsgs",
"type": "timeseries",
- "label": "limit",
+ "label": "{i18n:api-usage.successful}",
"color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "transportMsgCount",
- "type": "timeseries",
- "label": "count",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
+ "settings": {
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "line",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2.5,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "circle",
+ "pointSize": 12,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.15490750967648736,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;\n",
- "aggregationType": "NONE"
+ "usePostProcessing": null,
+ "postFuncBody": null
},
{
- "name": "transportDataPointsLimit",
+ "name": "failedMsgs",
"type": "timeseries",
- "label": "pointsLimit",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.22082255831864894,
+ "label": "{i18n:api-usage.permanent-failures}",
+ "color": "#ef5350",
+ "settings": {
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "line",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2.5,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "circle",
+ "pointSize": 12,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.4186621166514697,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
+ "usePostProcessing": null,
+ "postFuncBody": null
},
{
- "name": "transportDataPointsCount",
+ "name": "tmpFailed",
"type": "timeseries",
- "label": "pointsCount",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.6340356364819146,
+ "label": "{i18n:api-usage.processing-failures}",
+ "color": "#ffc107",
+ "settings": {
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "line",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2.5,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "circle",
+ "pointSize": 12,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.49891007198715376,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
+ "usePostProcessing": null,
+ "postFuncBody": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ },
+ "latestDataKeys": [
{
- "name": "transportApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#3f51b5",
+ "name": "queueName",
+ "type": "entityField",
+ "label": "Queue name",
+ "color": "#ffc107",
"settings": {},
- "_hash": 0.6894070537030252,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.transport}\";"
+ "_hash": 0.7021721434431745
},
{
- "name": "transportApiState",
- "type": "timeseries",
- "label": "apiStatus",
- "color": "#3f51b5",
+ "name": "serviceId",
+ "type": "entityField",
+ "label": "Service Id",
+ "color": "#607d8b",
"settings": {},
- "_hash": 0.430957831457494,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value.toLowerCase() : 'enabled';"
- },
- {
- "name": "transportApiState",
- "type": "timeseries",
- "label": "unit",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.662147926074595,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return '{i18n:api-usage.messages}';"
- },
- {
- "name": "transportApiState",
- "type": "timeseries",
- "label": "pointsUnit",
- "color": "#3f51b5",
- "settings": {},
- "_hash": 0.44620898738917947,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return '{i18n:api-usage.data-points}';"
+ "_hash": 0.5924381120750077
}
- ],
- "alarmFilterConfig": {
- "statusList": [
- "ACTIVE"
- ]
- }
+ ]
}
],
"timewindow": {
- "displayValue": "",
+ "hideAggregation": false,
+ "hideAggInterval": false,
"selectedTab": 0,
"realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
- },
- "history": {
- "historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
- },
- "quickInterval": "CURRENT_DAY"
+ "timewindowMs": 3600000,
+ "interval": 1000
},
"aggregation": {
- "type": "AVG",
- "limit": 25000
+ "type": "NONE",
+ "limit": 10000
}
},
- "showTitle": false,
- "backgroundColor": "#fff",
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
"color": "rgba(0, 0, 0, 0.87)",
"padding": "0px",
"settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n const reduced = number / power.value;\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [apiUsageBar, apiUsagePercent, apiUsageValue] = calculateBarValues(data[0].count, data[0].limit);\nconst [apiUsageBar2, apiUsagePercent2, apiUsageValue2] = calculateBarValues(data[0].pointsCount, data[0].pointsLimit);\n\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
' +\n `${data[0].title} ` +\n '
' +\n `
${data[0].apiStatus.toUpperCase()}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].unit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent}
` +\n '
' +\n `
${apiUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].pointsUnit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent2}
` +\n '
' +\n `
${apiUsageValue2}
` +\n '
' +\n '
' + \n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
- },
- "title": "Transport",
- "showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
- "titleTooltip": "",
- "dropShadow": true,
- "enableFullscreen": false,
- "widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
- "widgetCss": "",
- "pageSize": 1024,
- "noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "transport_details",
- "icon": "insert_chart",
- "useShowWidgetActionFunction": null,
- "showWidgetActionFunction": "return true;",
- "type": "openDashboardState",
- "targetDashboardStateId": "transport",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "openInSeparateDialog": false,
- "openInPopover": false,
- "id": "a60e09be-1bea-dfc3-6abb-f87e73256899"
- }
- ]
- }
- },
- "row": 0,
- "col": 0,
- "id": "aab68ab5-8e40-8694-c55c-8eb1c89b88fb"
- },
- "a84fa70a-ddfa-3b24-9aa4-cf9ce91f919a": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
- "config": {
- "datasources": [
- {
- "type": "entity",
- "name": null,
- "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
- "filterId": null,
- "dataKeys": [
- {
- "name": "ruleEngineApiState",
- "type": "timeseries",
- "label": "apiStatus",
- "color": "#2196f3",
- "settings": {},
- "_hash": 0.8830669138660703,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value : 'enabled';",
- "aggregationType": "NONE"
- },
- {
- "name": "ruleEngineExecutionLimit",
- "type": "timeseries",
- "label": "limit",
- "color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "ruleEngineExecutionCount",
- "type": "timeseries",
- "label": "count",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
},
- {
- "name": "ruleEngineApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.3551317421302518,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.rule-engine}\";"
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
},
- {
- "name": "ruleEngineApiState",
- "type": "timeseries",
- "label": "unit",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.5100381746798048,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.executions}\";"
- }
- ],
- "alarmFilterConfig": {
- "statusList": [
- "ACTIVE"
- ]
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
}
- }
- ],
- "timewindow": {
- "displayValue": "",
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
},
- "history": {
- "historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
},
- "quickInterval": "CURRENT_DAY"
- },
- "aggregation": {
- "type": "AVG",
- "limit": 25000
- }
- },
- "showTitle": false,
- "backgroundColor": "#fff",
- "color": "rgba(0, 0, 0, 0.87)",
- "padding": "0px",
- "settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [apiUsageBar, apiUsagePercent, apiUsageValue] = calculateBarValues(data[0].count, data[0].limit);\n\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
${title}
' +\n `
${data[0].apiStatus.toUpperCase()}
` +\n '
' +\n '
' +\n `
${data[0].unit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent}
` +\n '
' +\n `
${apiUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-statistics} ' +\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
- },
- "title": "Rule Engine execution",
- "showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
- "titleTooltip": "",
- "dropShadow": true,
- "enableFullscreen": false,
- "widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
- "widgetCss": "",
- "pageSize": 1024,
- "noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "rule_engine_execution_details",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "rule_engine_execution",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "id": "3c30248f-0cd8-fb97-a917-bc1e09984a79"
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
},
- {
- "name": "rule_engine_statistics_details",
- "icon": "show_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "rule_engine_statistics",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "id": "04e4565a-9e24-23df-f376-f2ec70a8165f"
- }
- ]
- }
- },
- "row": 0,
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": false,
+ "relativeWidth": 2,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": true,
+ "showMax": true,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipHideZeroValues": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 300,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "padding": "12px",
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)"
+ },
+ "title": "{i18n:api-usage.queue-stats}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "fa938580-33db-f1b3-fafc-bc3e3784ad57"
+ },
+ "2ee89893-4e38-5331-95b7-3fd4f310c5a7": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "entityAliasId": "2e4c97b0-257a-a1b9-690c-141d9bf2ec6f",
+ "dataKeys": [
+ {
+ "name": "timeoutMsgs",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.permanent-timeouts}",
+ "color": "#4caf50",
+ "settings": {
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "line",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2.5,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "circle",
+ "pointSize": 12,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.565222981550328,
+ "aggregationType": null,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ },
+ {
+ "name": "tmpTimeout",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.processing-timeouts}",
+ "color": "#9c27b0",
+ "settings": {
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "line",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2.5,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "circle",
+ "pointSize": 12,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.2679547062508352,
+ "aggregationType": null,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ },
+ "latestDataKeys": [
+ {
+ "name": "queueName",
+ "type": "entityField",
+ "label": "Queue name",
+ "color": "#f44336",
+ "settings": {},
+ "_hash": 0.7066844328378095
+ },
+ {
+ "name": "serviceId",
+ "type": "entityField",
+ "label": "Service Id",
+ "color": "#ffc107",
+ "settings": {},
+ "_hash": 0.1371570237026627
+ }
+ ]
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "selectedTab": 0,
+ "realtime": {
+ "timewindowMs": 3600000,
+ "interval": 1000
+ },
+ "aggregation": {
+ "type": "NONE",
+ "limit": 10000
+ }
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": false,
+ "relativeWidth": 2,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": true,
+ "showMax": true,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipHideZeroValues": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 300,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "padding": "12px",
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)"
+ },
+ "title": "{i18n:api-usage.processing-failures-and-timeouts}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "2ee89893-4e38-5331-95b7-3fd4f310c5a7"
+ },
+ "85240e8c-7af7-90a9-ad0a-726013c479a6": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "transportMsgCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.transport-messages}",
+ "color": "#2196f3",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar"
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": false,
+ "postFuncBody": null,
+ "aggregationType": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 50000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": null,
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 3600000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.transport-messages-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {
+ "headerButton": []
+ },
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "85240e8c-7af7-90a9-ad0a-726013c479a6"
+ },
+ "d0a10a8f-8f48-f9d6-8306-d12af9b49690": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "transportDataPointsCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.transport-data-points}",
+ "color": "#4caf50",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar"
+ },
+ "_hash": 0.46849996721308895,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 50000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": null,
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 3600000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.transport-data-point-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {
+ "headerButton": []
+ },
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "d0a10a8f-8f48-f9d6-8306-d12af9b49690"
+ },
+ "4544080d-9b6f-b592-9cd4-0e0335d33857": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "ruleEngineExecutionCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.rule-engine-executions}",
+ "color": "#ab00ff",
+ "settings": {
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "bar",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "emptyCircle",
+ "pointSize": 4,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_YEAR",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 50000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 3600000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.rule-engine-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {
+ "headerButton": [
+ {
+ "name": "{i18n:api-usage.view-statistics}",
+ "icon": "show_chart",
+ "type": "openDashboardState",
+ "targetDashboardStateId": "rule_engine_statistics",
+ "setEntityId": false,
+ "stateEntityParamName": null,
+ "openRightLayout": false,
+ "id": "f9f08190-9ed9-d802-5b7a-c57ff84b5648"
+ }
+ ]
+ },
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "4544080d-9b6f-b592-9cd4-0e0335d33857"
+ },
+ "5d0f2f57-499d-1324-8e1b-cfbc0b3149d2": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "storageDataPointsCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.data-points-storage-days}",
+ "color": "#1039ee",
+ "settings": {
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "bar",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "pointShape": "emptyCircle",
+ "pointSize": 4,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ }
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 50000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 3600000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.telemetry-persistence-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {
+ "headerButton": []
+ },
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "5d0f2f57-499d-1324-8e1b-cfbc0b3149d2"
+ },
+ "51608a74-f213-d8c9-8df8-b42238ef93a6": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "transportMsgCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.transport-messages}",
+ "color": "#2196f3",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar"
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.transport-msg-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
"col": 0,
- "id": "a84fa70a-ddfa-3b24-9aa4-cf9ce91f919a"
+ "id": "51608a74-f213-d8c9-8df8-b42238ef93a6"
},
- "d70d26d4-e22d-4ca9-9ea7-f9c87c093321": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
+ "fb155957-1af4-233e-e2fb-09e648e75d6e": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
"config": {
"datasources": [
{
@@ -519,130 +3118,40 @@
"filterId": null,
"dataKeys": [
{
- "name": "jsExecutionApiState",
+ "name": "transportMsgCountHourly",
"type": "timeseries",
- "label": "jsApiState",
+ "label": "{i18n:api-usage.transport-messages}",
"color": "#2196f3",
- "settings": {},
- "_hash": 0.8830669138660703,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value : 'ENABLED';",
- "aggregationType": "NONE"
- },
- {
- "name": "jsExecutionLimit",
- "type": "timeseries",
- "label": "jsLimit",
- "color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "jsExecutionCount",
- "type": "timeseries",
- "label": "jsCount",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "jsExecutionApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.7673280949238444,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.scripts}\";",
- "aggregationType": "NONE"
- },
- {
- "name": "jsExecutionApiState",
- "type": "timeseries",
- "label": "jsUnit",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.7926918686567068,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.javascript}\";",
- "aggregationType": "NONE"
- },
- {
- "name": "tbelExecutionApiState",
- "type": "timeseries",
- "label": "tbelApiState",
- "color": "#3f51b5",
- "settings": {},
- "_hash": 0.2002981454581909,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value : 'ENABLED';"
- },
- {
- "name": "tbelExecutionLimit",
- "type": "timeseries",
- "label": "tbelLimit",
- "color": "#ffeb3b",
- "settings": {},
- "_hash": 0.5039854873031677,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;"
- },
- {
- "name": "tbelExecutionCount",
- "type": "timeseries",
- "label": "tbelCount",
- "color": "#e91e63",
- "settings": {},
- "_hash": 0.9506731992087107,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;"
- },
- {
- "name": "tbelExecutionApiState",
- "type": "timeseries",
- "label": "tbelUnit",
- "color": "#ffeb3b",
- "settings": {},
- "_hash": 0.3673530683177082,
- "aggregationType": "NONE",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar"
+ },
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.tbel}\";"
+ "usePostProcessing": null,
+ "postFuncBody": null
}
],
"alarmFilterConfig": {
@@ -650,89 +3159,317 @@
"ACTIVE"
]
}
- }
- ],
- "timewindow": {
- "displayValue": "",
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
},
- "history": {
- "historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
},
- "quickInterval": "CURRENT_DAY"
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
},
- "aggregation": {
- "type": "AVG",
- "limit": 25000
- }
- },
- "showTitle": false,
- "backgroundColor": "#fff",
- "color": "rgba(0, 0, 0, 0.87)",
- "padding": "0px",
- "settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n const reduced = number / power.value;\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [jsUsageBar, jsUsagePercent, jsUsageValue] = calculateBarValues(data[0].jsCount, data[0].jsLimit);\nconst [tbelUsageBar, tbelUsagePercent, tbelUsageValue] = calculateBarValues(data[0].tbelCount, data[0].tbelLimit);\n\nconst jsApiState = data[0].jsApiState;\nconst tbelApiState = data[0].tbelApiState;\nlet currentState;\nif (jsApiState === 'DISABLED' || tbelApiState === 'DISABLED') {\n currentState = 'DISABLED';\n} else if (jsApiState === 'WARNING' || tbelApiState === 'WARNING') {\n currentState = 'WARNING';\n} else {\n currentState = 'ENABLED';\n}\nconst cardClass = currentState.toLowerCase()\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
' +\n `${data[0].title} ` +\n '
' +\n `
${currentState}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].jsUnit}
` +\n '
' +\n '
' +\n `
${jsUsagePercent}
` +\n '
' +\n `
${jsUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].tbelUnit}
` +\n '
' +\n '
' +\n `
${tbelUsagePercent}
` +\n '
' +\n `
${tbelUsageValue}
` +\n '
' +\n '
' + \n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "JavaScript functions",
+ "title": "{i18n:api-usage.transport-msg-daily-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
"showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
"titleTooltip": "",
- "dropShadow": true,
- "enableFullscreen": false,
"widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
"widgetCss": "",
"pageSize": 1024,
+ "units": "",
+ "decimals": null,
"noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "script_functions_details",
- "icon": "insert_chart",
- "useShowWidgetActionFunction": null,
- "showWidgetActionFunction": "return true;",
- "type": "openDashboardState",
- "targetDashboardStateId": "script_functions",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "openInSeparateDialog": false,
- "openInPopover": false,
- "id": "d4961bea-84de-e1af-e50f-666b98d34cd5"
- }
- ]
- }
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "d70d26d4-e22d-4ca9-9ea7-f9c87c093321"
+ "id": "fb155957-1af4-233e-e2fb-09e648e75d6e"
},
- "4d3ea95c-3188-9872-1817-2f989c7729e0": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
+ "4817e33b-87be-5be3-eaca-ca68a2eb4e0c": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
"config": {
"datasources": [
{
@@ -742,158 +3479,363 @@
"filterId": null,
"dataKeys": [
{
- "name": "storageDataPointsLimit",
- "type": "timeseries",
- "label": "limit",
- "color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "storageDataPointsCount",
- "type": "timeseries",
- "label": "count",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "dbApiState",
- "type": "timeseries",
- "label": "apiStatus",
- "color": "#ffc107",
- "settings": {},
- "_hash": 0.8737107059960671,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value : 'enabled';",
- "aggregationType": "NONE"
- },
- {
- "name": "dbApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.6301889725474652,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.telemetry}\";"
- },
- {
- "name": "dbApiState",
+ "name": "transportMsgCountHourly",
"type": "timeseries",
- "label": "unit",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.0027742924142306613,
+ "label": "{i18n:api-usage.transport-messages}",
+ "color": "#2196f3",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar"
+ },
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.data-points-storage-days}\";"
- }
- ],
- "alarmFilterConfig": {
- "statusList": [
- "ACTIVE"
- ]
- }
+ "usePostProcessing": null,
+ "postFuncBody": null
+ }
+ ]
}
],
"timewindow": {
- "displayValue": "",
- "selectedTab": 0,
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 1,
"realtime": {
- "realtimeType": 1,
+ "realtimeType": 0,
"interval": 1000,
"timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
},
"history": {
"historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
- },
- "quickInterval": "CURRENT_DAY"
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "AVG",
+ "type": "NONE",
"limit": 25000
- }
+ },
+ "timezone": null
},
- "showTitle": false,
- "backgroundColor": "#fff",
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
"color": "rgba(0, 0, 0, 0.87)",
"padding": "0px",
"settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [apiUsageBar, apiUsagePercent, apiUsageValue] = calculateBarValues(data[0].count, data[0].limit);\n\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
${title}
' +\n `
${data[0].apiStatus.toUpperCase()}
` +\n '
' +\n '
' +\n `
${data[0].unit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent}
` +\n '
' +\n `
${apiUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "Telemetry persistence",
- "showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
- "titleTooltip": "",
+ "title": "{i18n:api-usage.transport-msg-monthly-activity}",
"dropShadow": true,
- "enableFullscreen": false,
- "widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
},
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
"widgetCss": "",
"pageSize": 1024,
+ "units": "",
+ "decimals": null,
"noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "telemetry_persistence_details",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "telemetry_persistence",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "id": "6248831c-5b3f-8879-8548-afcf43f10610"
- }
- ]
- }
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "4d3ea95c-3188-9872-1817-2f989c7729e0"
+ "id": "4817e33b-87be-5be3-eaca-ca68a2eb4e0c"
},
- "2d0d6ff6-cd59-51d4-b916-38e22cdd0702": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
+ "9e00cc90-520d-2108-1d2f-bba68ed5cbf1": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
"config": {
"datasources": [
{
@@ -903,72 +3845,42 @@
"filterId": null,
"dataKeys": [
{
- "name": "createdAlarmsLimit",
- "type": "timeseries",
- "label": "limit",
- "color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "createdAlarmsCount",
- "type": "timeseries",
- "label": "count",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "alarmApiState",
- "type": "timeseries",
- "label": "apiStatus",
- "color": "#ffc107",
- "settings": {},
- "_hash": 0.8737107059960671,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value : 'enabled';",
- "aggregationType": "NONE"
- },
- {
- "name": "alarmApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.43439375716502227,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.alarm}\";"
- },
- {
- "name": "alarmApiState",
+ "name": "transportDataPointsCountHourly",
"type": "timeseries",
- "label": "unit",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.9964061963495883,
+ "label": "{i18n:api-usage.transport-data-points}",
+ "color": "#4CAF50",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar",
+ "yAxisId": "default"
+ },
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.alarms-created}\";"
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
}
],
"alarmFilterConfig": {
@@ -976,90 +3888,327 @@
"ACTIVE"
]
}
- }
- ],
- "timewindow": {
- "displayValue": "",
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
+ }
+ ],
+ "timewindow": {
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
+ },
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0px",
+ "settings": {
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
},
- "history": {
- "historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
},
- "quickInterval": "CURRENT_DAY"
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
},
- "aggregation": {
- "type": "AVG",
- "limit": 25000
- }
- },
- "showTitle": false,
- "backgroundColor": "#fff",
- "color": "rgba(0, 0, 0, 0.87)",
- "padding": "0px",
- "settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [apiUsageBar, apiUsagePercent, apiUsageValue] = calculateBarValues(data[0].count, data[0].limit);\n\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
${title}
' +\n `
${data[0].apiStatus.toUpperCase()}
` +\n '
' +\n '
' +\n `
${data[0].unit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent}
` +\n '
' +\n `
${apiUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "Alarm created",
+ "title": "{i18n:api-usage.transport-data-points-hourly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
"showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
"titleTooltip": "",
- "dropShadow": true,
- "enableFullscreen": false,
"widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
"widgetCss": "",
"pageSize": 1024,
+ "units": "",
+ "decimals": null,
"noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "email_messages_details",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "alarms_created",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openInSeparateDialog": null,
- "dialogTitle": null,
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": null,
- "openRightLayout": false,
- "id": "946ba769-84ac-1507-6baa-94701de8967b"
- }
- ]
- }
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "2d0d6ff6-cd59-51d4-b916-38e22cdd0702"
+ "id": "9e00cc90-520d-2108-1d2f-bba68ed5cbf1"
},
- "120573cc-e246-eb49-7d80-68e5d3b3c0cc": {
- "typeFullFqn": "system.cards.markdown_card",
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
+ "79056202-c92b-1dae-ce49-318ec52e2d3b": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
"config": {
"datasources": [
{
@@ -1069,128 +4218,42 @@
"filterId": null,
"dataKeys": [
{
- "name": "emailApiState",
- "type": "timeseries",
- "label": "apiState",
- "color": "#2196f3",
- "settings": {},
- "_hash": 0.8830669138660703,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "emailLimit",
- "type": "timeseries",
- "label": "limit",
- "color": "#4caf50",
- "settings": {},
- "_hash": 0.5463603803546802,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "emailCount",
- "type": "timeseries",
- "label": "count",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.5564241862015964,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "smsApiState",
- "type": "timeseries",
- "label": "apiStatePoint",
- "color": "#e91e63",
- "settings": {},
- "_hash": 0.2969682764607864,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "smsLimit",
- "type": "timeseries",
- "label": "pointsLimit",
- "color": "#9c27b0",
- "settings": {},
- "_hash": 0.22082255831864894,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "smsCount",
- "type": "timeseries",
- "label": "pointsCount",
- "color": "#8bc34a",
- "settings": {},
- "_hash": 0.6340356364819146,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value !== '' ? parseInt(value, 10) : 0;",
- "aggregationType": "NONE"
- },
- {
- "name": "notificationApiState",
- "type": "timeseries",
- "label": "title",
- "color": "#3f51b5",
- "settings": {},
- "_hash": 0.6894070537030252,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.notifications}\";",
- "aggregationType": "NONE"
- },
- {
- "name": "notificationApiState",
- "type": "timeseries",
- "label": "unit",
- "color": "#3f51b5",
- "settings": {},
- "_hash": 0.0005447336528170421,
- "aggregationType": "NONE",
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return '{i18n:api-usage.email}';"
- },
- {
- "name": "notificationApiState",
+ "name": "transportDataPointsCountHourly",
"type": "timeseries",
- "label": "pointsUnit",
- "color": "#e91e63",
- "settings": {},
- "_hash": 0.12117146988088967,
- "aggregationType": "NONE",
+ "label": "{i18n:api-usage.transport-data-points}",
+ "color": "#4CAF50",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
+ }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar",
+ "yAxisId": "default"
+ },
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return '{i18n:api-usage.sms}';"
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
}
],
"alarmFilterConfig": {
@@ -1201,83 +4264,310 @@
}
],
"timewindow": {
- "displayValue": "",
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
- },
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "hideTimezone": false,
+ "selectedTab": 1,
"history": {
"historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
"fixedTimewindow": {
- "startTimeMs": 1708518962586,
- "endTimeMs": 1708605362586
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
},
"quickInterval": "CURRENT_DAY"
},
"aggregation": {
- "type": "AVG",
+ "type": "SUM",
"limit": 25000
- }
+ },
+ "timezone": null
},
- "showTitle": false,
- "backgroundColor": "#fff",
+ "showTitle": true,
+ "backgroundColor": "#FFFFFF",
"color": "rgba(0, 0, 0, 0.87)",
"padding": "0px",
"settings": {
- "useMarkdownTextFunction": true,
- "markdownTextPattern": "",
- "markdownTextFunction": "function toShortNumber(number) {\n const rounder = Math.pow(10, 1);\n const powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n ];\n let key = '';\n for (const power of powers) {\n const reduced = number / power.value;\n for (const power of powers) {\n let reduced = number / power.value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n number = reduced;\n key = power.key;\n break;\n }\n }\n }\n \n return number + key;\n}\n\nfunction calculateBarValues(count, limit) {\n let apiUsageBar = '0%';\n let apiUsagePercent = '';\n let apiUsageValue = `${toShortNumber(count)} / β`;\n if (Number.isFinite(limit) && limit > 0) {\n var percent = Math.min(100, ((count / limit) * 100));\n apiUsageBar = `${percent}%`\n apiUsagePercent = `${percent.toFixed(2)}%`;\n apiUsageValue = `${toShortNumber(count)} / ${toShortNumber(limit)}`;\n }\n \n return [apiUsageBar, apiUsagePercent, apiUsageValue]\n}\n\nconst [apiUsageBar, apiUsagePercent, apiUsageValue] = calculateBarValues(data[0].count, data[0].limit);\nconst [apiUsageBar2, apiUsagePercent2, apiUsageValue2] = calculateBarValues(data[0].pointsCount, data[0].pointsLimit);\n\nconst apiState = data[0].apiState;\nconst apiStatePoint = data[0].apiStatePoint;\nlet currentState;\nif (apiState === 'DISABLED' || apiStatePoint === 'DISABLED') {\n currentState = 'DISABLED';\n} else if (apiState === 'WARNING' || apiStatePoint === 'WARNING') {\n currentState = 'WARNING';\n} else {\n currentState = 'ENABLED';\n}\n\n\n\nreturn `` +\n '
' +\n '
' +\n '
' +\n '
' +\n `${data[0].title} ` +\n '
' +\n `
${currentState}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].unit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent}
` +\n '
' +\n `
${apiUsageValue}
` +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n `
${data[0].pointsUnit}
` +\n '
' +\n '
' +\n `
${apiUsagePercent2}
` +\n '
' +\n `
${apiUsageValue2}
` +\n '
' +\n '
' + \n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
'+\n '{i18n:api-usage.view-details} ' +\n '
' +\n '
'\n",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": "\n"
+ "yAxes": {
+ "default": {
+ "units": null,
+ "decimals": 0,
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "left",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormatter": "var rounder = Math.pow(10, 1);\nvar powers = [\n {key: 'Q', value: Math.pow(10, 15)},\n {key: 'T', value: Math.pow(10, 12)},\n {key: 'B', value: Math.pow(10, 9)},\n {key: 'M', value: Math.pow(10, 6)},\n {key: 'K', value: 1000}\n];\n\nvar key = '';\n\nfor (var i = 0; i < powers.length; i++) {\n var reduced = value / powers[i].value;\n reduced = Math.round(reduced * rounder) / rounder;\n if (reduced >= 1) {\n value = reduced;\n key = powers[i].key;\n break;\n }\n}\nreturn value + key;",
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)",
+ "id": "default",
+ "order": 0,
+ "min": null,
+ "max": null
+ }
+ },
+ "thresholds": [],
+ "dataZoom": false,
+ "stack": false,
+ "xAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "bottom",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "noAggregationBarWidthSettings": {
+ "strategy": "group",
+ "groupWidth": {
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
+ },
+ "barWidth": {
+ "relative": true,
+ "relativeWidth": 2,
+ "absoluteWidth": 1000
+ }
+ },
+ "showLegend": true,
+ "legendLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true,
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.transport-data-points-daily-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
},
- "title": "Notifications (Email/SMS)",
- "showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
+ "titleColor": "rgba(0, 0, 0, 0.87)",
"titleTooltip": "",
- "dropShadow": true,
- "enableFullscreen": false,
"widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "displayTimewindow": true,
"widgetCss": "",
"pageSize": 1024,
+ "units": "",
+ "decimals": null,
"noDataDisplayMessage": "",
- "actions": {
- "elementClick": [
- {
- "name": "transport_details",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "notifications",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openInSeparateDialog": null,
- "dialogTitle": null,
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": null,
- "openRightLayout": false,
- "id": "46b7cefe-e1f2-67c1-4055-3a214520f869"
- }
- ]
- }
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "120573cc-e246-eb49-7d80-68e5d3b3c0cc"
+ "id": "79056202-c92b-1dae-ce49-318ec52e2d3b"
},
- "63f99d90-23ab-f8c2-3290-1e693ded5a2e": {
+ "966ffee7-ba0d-8e54-f903-e8d015ca8cd2": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -1290,73 +4580,82 @@
"entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
"filterId": null,
"dataKeys": [
- {
- "name": "transportMsgCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.transport-messages}",
- "color": "#2196f3",
- "settings": {
- "excludeFromStacking": false,
- "hideDataByDefault": false,
- "disableDataHiding": false,
- "removeFromLegend": false,
- "showLines": false,
- "fillLines": false,
- "showPoints": false,
- "showPointShape": "circle",
- "pointShapeFormatter": "",
- "showPointsLineWidth": 5,
- "showPointsRadius": 3,
- "showSeparateAxis": false,
- "axisPosition": "left",
- "thresholds": [
- {
- "thresholdValueSource": "predefinedValue"
- }
- ],
- "comparisonSettings": {
- "showValuesForComparison": true
- },
- "type": "bar"
- },
- "_hash": 0.0661644137210089,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": false,
- "postFuncBody": null,
- "aggregationType": null
- },
{
"name": "transportDataPointsCountHourly",
"type": "timeseries",
"label": "{i18n:api-usage.transport-data-points}",
- "color": "#4caf50",
+ "color": "#4CAF50",
"settings": {
- "excludeFromStacking": false,
- "hideDataByDefault": false,
- "disableDataHiding": false,
- "removeFromLegend": false,
- "showLines": false,
- "fillLines": false,
- "showPoints": false,
- "showPointShape": "circle",
- "pointShapeFormatter": "",
- "showPointsLineWidth": 5,
- "showPointsRadius": 3,
- "showSeparateAxis": false,
- "axisPosition": "left",
- "thresholds": [
- {
- "thresholdValueSource": "predefinedValue"
+ "yAxisId": "default",
+ "showInLegend": true,
+ "dataHiddenByDefault": false,
+ "type": "bar",
+ "lineSettings": {
+ "showLine": true,
+ "step": false,
+ "stepType": "start",
+ "smooth": false,
+ "lineType": "solid",
+ "lineWidth": 2,
+ "showPoints": false,
+ "showPointLabel": false,
+ "pointLabelPosition": "top",
+ "pointLabelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "enablePointLabelBackground": false,
+ "pointLabelBackground": "rgba(255,255,255,0.56)",
+ "pointShape": "emptyCircle",
+ "pointSize": 4,
+ "fillAreaSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
}
- ],
- "comparisonSettings": {
- "showValuesForComparison": true
},
- "type": "bar"
+ "barSettings": {
+ "showBorder": false,
+ "borderWidth": 2,
+ "borderRadius": 0,
+ "showLabel": false,
+ "labelPosition": "top",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.76)",
+ "enableLabelBackground": false,
+ "labelBackground": "rgba(255,255,255,0.56)",
+ "backgroundSettings": {
+ "type": "none",
+ "opacity": 0.4,
+ "gradient": {
+ "start": 100,
+ "end": 0
+ }
+ }
+ },
+ "comparisonSettings": {
+ "showValuesForComparison": false,
+ "comparisonValuesLabel": "",
+ "color": ""
+ }
},
- "_hash": 0.46849996721308895,
+ "_hash": 0.12814821361119078,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
@@ -1372,22 +4671,33 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
- "selectedTab": 0,
+ "selectedTab": 1,
"realtime": {
"realtimeType": 0,
- "timewindowMs": 86400000,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
"quickInterval": "CURRENT_DAY",
- "interval": 300000
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 50000
+ "limit": 25000
},
"timezone": null
},
@@ -1460,7 +4770,8 @@
"weight": "400",
"lineHeight": "1"
},
- "tickLabelColor": null,
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -1471,9 +4782,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -1499,76 +4810,135 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
},
- "showTooltip": true,
- "tooltipTrigger": "axis",
- "tooltipValueFont": {
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
"family": "Roboto",
"size": 12,
"sizeUnit": "px",
"style": "normal",
- "weight": "500",
+ "weight": "400",
"lineHeight": "16px"
},
- "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
- "tooltipShowDate": true,
- "tooltipDateFormat": {
- "format": "yyyy-MM-dd HH:mm:ss",
- "lastUpdateAgo": false,
- "custom": false
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
},
- "tooltipDateFont": {
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
"family": "Roboto",
- "size": 11,
+ "size": 12,
"sizeUnit": "px",
"style": "normal",
"weight": "400",
"lineHeight": "16px"
},
- "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
- "tooltipDateInterval": true,
- "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
- "tooltipBackgroundBlur": 4,
- "animation": {
- "animation": true,
- "animationThreshold": 2000,
- "animationDuration": 1000,
- "animationEasing": "cubicOut",
- "animationDelay": 0,
- "animationDurationUpdate": 300,
- "animationEasingUpdate": "cubicOut",
- "animationDelayUpdate": 0
- },
- "background": {
- "type": "color",
- "color": "#fff",
- "overlay": {
- "enabled": false,
- "color": "rgba(255,255,255,0.72)",
- "blur": 3
- }
- }
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.transport-hourly-activity}",
+ "title": "{i18n:api-usage.transport-data-points-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
- "actions": {
- "headerButton": [
- {
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "transport",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "id": "6ef12f6a-0266-25cf-6ca5-5dcb772252c6"
- }
- ]
- },
+ "actions": {},
"showTitleIcon": false,
"titleIcon": "thermostat",
"iconColor": "#1F6BDD",
@@ -1607,14 +4977,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "63f99d90-23ab-f8c2-3290-1e693ded5a2e"
+ "id": "966ffee7-ba0d-8e54-f903-e8d015ca8cd2"
},
- "a2b7e906-2d8a-41a8-99a6-409531bfa743": {
+ "b1a9a51f-e5a6-9d5f-ef5c-25c2a68af1b0": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -1631,8 +5001,9 @@
"name": "ruleEngineExecutionCountHourly",
"type": "timeseries",
"label": "{i18n:api-usage.rule-engine-executions}",
- "color": "#ab00ff",
+ "color": "#AB00FF",
"settings": {
+ "yAxisId": "default",
"showInLegend": true,
"dataHiddenByDefault": false,
"type": "bar",
@@ -1655,6 +5026,8 @@
"lineHeight": "1"
},
"pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "enablePointLabelBackground": false,
+ "pointLabelBackground": "rgba(255,255,255,0.56)",
"pointShape": "emptyCircle",
"pointSize": 4,
"fillAreaSettings": {
@@ -1681,6 +5054,8 @@
"lineHeight": "1"
},
"labelColor": "rgba(0, 0, 0, 0.76)",
+ "enableLabelBackground": false,
+ "labelBackground": "rgba(255,255,255,0.56)",
"backgroundSettings": {
"type": "none",
"opacity": 0.4,
@@ -1689,15 +5064,20 @@
"end": 0
}
}
+ },
+ "comparisonSettings": {
+ "showValuesForComparison": false,
+ "comparisonValuesLabel": "",
+ "color": ""
}
},
- "_hash": 0.0661644137210089,
+ "_hash": 0.5078724779454146,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null,
- "aggregationType": null
+ "postFuncBody": null
}
],
"alarmFilterConfig": {
@@ -1708,22 +5088,33 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
"selectedTab": 0,
"realtime": {
"realtimeType": 0,
+ "interval": 3600000,
"timewindowMs": 86400000,
- "quickInterval": "CURRENT_YEAR",
- "interval": 7200000
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "NONE",
- "limit": 50000
+ "type": "SUM",
+ "limit": 25000
},
"timezone": null
},
@@ -1797,6 +5188,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -1807,9 +5199,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -1835,7 +5227,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -1852,7 +5245,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -1884,7 +5279,76 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
"title": "{i18n:api-usage.rule-engine-hourly-activity}",
"dropShadow": true,
@@ -1895,23 +5359,20 @@
"headerButton": [
{
"name": "{i18n:api-usage.view-statistics}",
+ "buttonType": "icon",
"icon": "show_chart",
+ "buttonColor": "rgba(0, 0, 0, 0.87)",
+ "customButtonStyle": {},
+ "useShowWidgetActionFunction": null,
+ "showWidgetActionFunction": "return true;",
"type": "openDashboardState",
"targetDashboardStateId": "rule_engine_statistics",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "id": "f9f08190-9ed9-d802-5b7a-c57ff84b5648"
- },
- {
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "rule_engine_execution",
- "setEntityId": false,
+ "setEntityId": true,
"stateEntityParamName": null,
"openRightLayout": false,
- "id": "1aec196b-44ba-ddf4-c4dc-c3f60c1eb6fc"
+ "openInSeparateDialog": false,
+ "openInPopover": false,
+ "id": "8b57e118-84fc-4add-2536-d3cfde018b83"
}
]
},
@@ -1932,125 +5393,54 @@
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
- "pageSize": 1024,
- "units": "",
- "decimals": null,
- "noDataDisplayMessage": "",
- "timewindowStyle": {
- "showIcon": false,
- "iconSize": "24px",
- "icon": null,
- "iconPosition": "left",
- "font": {
- "size": 12,
- "sizeUnit": "px",
- "family": "Roboto",
- "weight": "400",
- "style": "normal",
- "lineHeight": "16px"
- },
- "color": "rgba(0, 0, 0, 0.38)",
- "displayTypePrefix": true
- },
- "margin": "0px",
- "borderRadius": "0px",
- "iconSize": "0px"
- },
- "row": 0,
- "col": 0,
- "id": "a2b7e906-2d8a-41a8-99a6-409531bfa743"
- },
- "ca996b66-ab7e-f977-152c-98e4ebf2a901": {
- "typeFullFqn": "system.time_series_chart",
- "type": "timeseries",
- "sizeX": 8,
- "sizeY": 5,
- "config": {
- "datasources": [
- {
- "type": "entity",
- "name": null,
- "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
- "filterId": null,
- "dataKeys": [
- {
- "name": "jsExecutionCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.javascript-executions}",
- "color": "#ff9900",
- "settings": {
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "bar",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "emptyCircle",
- "pointSize": 4,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
- },
- "_hash": 0.0661644137210089,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null,
- "aggregationType": null
- },
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "b1a9a51f-e5a6-9d5f-ef5c-25c2a68af1b0"
+ },
+ "84fbe63a-bcb6-7bc1-8af0-46b3b1ee5adc": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
{
- "name": "tbelExecutionCountHourly",
+ "name": "ruleEngineExecutionCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.tbel-executions}",
- "color": "#4caf50",
+ "label": "{i18n:api-usage.rule-engine-executions}",
+ "color": "#AB00FF",
"settings": {
+ "yAxisId": "default",
"showInLegend": true,
"dataHiddenByDefault": false,
"type": "bar",
@@ -2073,6 +5463,8 @@
"lineHeight": "1"
},
"pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "enablePointLabelBackground": false,
+ "pointLabelBackground": "rgba(255,255,255,0.56)",
"pointShape": "emptyCircle",
"pointSize": 4,
"fillAreaSettings": {
@@ -2099,6 +5491,8 @@
"lineHeight": "1"
},
"labelColor": "rgba(0, 0, 0, 0.76)",
+ "enableLabelBackground": false,
+ "labelBackground": "rgba(255,255,255,0.56)",
"backgroundSettings": {
"type": "none",
"opacity": 0.4,
@@ -2107,9 +5501,14 @@
"end": 0
}
}
+ },
+ "comparisonSettings": {
+ "showValuesForComparison": false,
+ "comparisonValuesLabel": "",
+ "color": ""
}
},
- "_hash": 0.6818645685001823,
+ "_hash": 0.01948850513940492,
"aggregationType": null,
"units": null,
"decimals": null,
@@ -2126,22 +5525,23 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 0,
- "timewindowMs": 86400000,
- "quickInterval": "CURRENT_DAY",
- "interval": 3600000
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
- "type": "NONE",
- "limit": 50000
+ "type": "SUM",
+ "limit": 25000
},
"timezone": null
},
@@ -2215,6 +5615,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -2225,9 +5626,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -2253,7 +5654,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -2270,7 +5672,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -2302,9 +5706,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.scripts-hourly-activity}",
+ "title": "{i18n:api-usage.rule-engine-daily-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -2312,18 +5785,21 @@
"actions": {
"headerButton": [
{
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
+ "name": "{i18n:api-usage.view-statistics}",
+ "buttonType": "icon",
+ "icon": "show_chart",
+ "buttonColor": "rgba(0, 0, 0, 0.87)",
+ "customButtonStyle": {},
"useShowWidgetActionFunction": null,
"showWidgetActionFunction": "return true;",
"type": "openDashboardState",
- "targetDashboardStateId": "script_functions",
- "setEntityId": false,
+ "targetDashboardStateId": "rule_engine_statistics",
+ "setEntityId": true,
"stateEntityParamName": null,
"openRightLayout": false,
"openInSeparateDialog": false,
"openInPopover": false,
- "id": "4687d3f6-8800-a3b6-26e5-0d33f3b828a9"
+ "id": "2592147a-3f62-987a-78c0-cdb775fb4233"
}
]
},
@@ -2365,14 +5841,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "ca996b66-ab7e-f977-152c-98e4ebf2a901"
+ "id": "84fbe63a-bcb6-7bc1-8af0-46b3b1ee5adc"
},
- "a3c2f1bb-7d3a-f11c-7b3d-28cd84fdfe34": {
+ "43a2b982-6c02-d9bd-71ee-34e8e6cf8893": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -2386,11 +5862,12 @@
"filterId": null,
"dataKeys": [
{
- "name": "storageDataPointsCountHourly",
+ "name": "ruleEngineExecutionCount",
"type": "timeseries",
- "label": "{i18n:api-usage.data-points-storage-days}",
- "color": "#1039ee",
+ "label": "{i18n:api-usage.rule-engine-executions}",
+ "color": "#AB00FF",
"settings": {
+ "yAxisId": "default",
"showInLegend": true,
"dataHiddenByDefault": false,
"type": "bar",
@@ -2413,6 +5890,8 @@
"lineHeight": "1"
},
"pointLabelColor": "rgba(0, 0, 0, 0.76)",
+ "enablePointLabelBackground": false,
+ "pointLabelBackground": "rgba(255,255,255,0.56)",
"pointShape": "emptyCircle",
"pointSize": 4,
"fillAreaSettings": {
@@ -2439,6 +5918,8 @@
"lineHeight": "1"
},
"labelColor": "rgba(0, 0, 0, 0.76)",
+ "enableLabelBackground": false,
+ "labelBackground": "rgba(255,255,255,0.56)",
"backgroundSettings": {
"type": "none",
"opacity": 0.4,
@@ -2447,15 +5928,20 @@
"end": 0
}
}
+ },
+ "comparisonSettings": {
+ "showValuesForComparison": false,
+ "comparisonValuesLabel": "",
+ "color": ""
}
},
- "_hash": 0.0661644137210089,
+ "_hash": 0.5125470598651091,
+ "aggregationType": null,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null,
- "aggregationType": null
+ "postFuncBody": null
}
],
"alarmFilterConfig": {
@@ -2466,22 +5952,33 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
- "selectedTab": 0,
+ "selectedTab": 1,
"realtime": {
"realtimeType": 0,
- "timewindowMs": 86400000,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
"quickInterval": "CURRENT_DAY",
- "interval": 300000
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 50000
+ "limit": 25000
},
"timezone": null
},
@@ -2555,6 +6052,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -2565,9 +6063,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -2593,7 +6091,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -2610,7 +6109,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -2642,9 +6143,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.telemetry-persistence-hourly-activity}",
+ "title": "{i18n:api-usage.rule-engine-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -2652,14 +6222,21 @@
"actions": {
"headerButton": [
{
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
+ "name": "{i18n:api-usage.view-statistics}",
+ "buttonType": "icon",
+ "icon": "show_chart",
+ "buttonColor": "rgba(0, 0, 0, 0.87)",
+ "customButtonStyle": {},
+ "useShowWidgetActionFunction": null,
+ "showWidgetActionFunction": "return true;",
"type": "openDashboardState",
- "targetDashboardStateId": "telemetry_persistence",
- "setEntityId": false,
+ "targetDashboardStateId": "rule_engine_statistics",
+ "setEntityId": true,
"stateEntityParamName": null,
"openRightLayout": false,
- "id": "16707efb-e572-bd02-c219-55fc1b0f672a"
+ "openInSeparateDialog": false,
+ "openInPopover": false,
+ "id": "b6ba96cf-48b8-f40f-f010-10b95e7dc819"
}
]
},
@@ -2701,14 +6278,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "a3c2f1bb-7d3a-f11c-7b3d-28cd84fdfe34"
+ "id": "43a2b982-6c02-d9bd-71ee-34e8e6cf8893"
},
- "5cebd4f1-ff6e-62f9-025c-8e7583c3d66a": {
+ "76fe83c9-c30f-00a5-6299-40c759ca6705": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -2722,68 +6299,34 @@
"filterId": null,
"dataKeys": [
{
- "name": "createdAlarmsCountHourly",
+ "name": "jsExecutionCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.alarms-created}",
- "color": "#d35a00",
+ "label": "{i18n:api-usage.javascript-function-executions}",
+ "color": "#FF9900",
"settings": {
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "bar",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "emptyCircle",
- "pointSize": 4,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
}
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
},
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
@@ -2802,22 +6345,33 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
"selectedTab": 0,
"realtime": {
"realtimeType": 0,
+ "interval": 3600000,
"timewindowMs": 86400000,
"quickInterval": "CURRENT_DAY",
- "interval": 300000
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "NONE",
- "limit": 50000
+ "type": "SUM",
+ "limit": 25000
},
"timezone": null
},
@@ -2891,6 +6445,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -2901,9 +6456,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -2929,7 +6484,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -2946,7 +6502,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -2978,32 +6536,83 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.alarms-created-hourly-activity}",
+ "title": "{i18n:api-usage.javascript-function-executions-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
- "actions": {
- "headerButton": [
- {
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "alarms_created",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openInSeparateDialog": null,
- "dialogTitle": null,
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": null,
- "openRightLayout": false,
- "id": "371882f9-ea23-3abc-fca8-9449c5dfdd6b"
- }
- ]
- },
+ "actions": {},
"showTitleIcon": false,
"titleIcon": "thermostat",
"iconColor": "#1F6BDD",
@@ -3042,14 +6651,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "5cebd4f1-ff6e-62f9-025c-8e7583c3d66a"
+ "id": "76fe83c9-c30f-00a5-6299-40c759ca6705"
},
- "bc0c8840-a9b5-5583-de7b-9e9450f5d8fe": {
+ "a43598d1-7bfd-f329-ee61-c343f34f069f": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -3063,140 +6672,34 @@
"filterId": null,
"dataKeys": [
{
- "name": "emailCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.email-messages}",
- "color": "#4caf50",
- "settings": {
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "bar",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "emptyCircle",
- "pointSize": 4,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
- },
- "_hash": 0.1348755140779876,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null,
- "aggregationType": null
- },
- {
- "name": "smsCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.sms-messages}",
- "color": "#f36021",
- "settings": {
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "bar",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "emptyCircle",
- "pointSize": 4,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
+ "name": "jsExecutionCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.javascript-function-executions}",
+ "color": "#FF9900",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
}
- }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
@@ -3215,22 +6718,23 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 0,
- "timewindowMs": 86400000,
- "quickInterval": "CURRENT_DAY",
- "interval": 300000
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
- "type": "NONE",
- "limit": 50000
+ "type": "SUM",
+ "limit": 25000
},
"timezone": null
},
@@ -3304,6 +6808,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -3314,9 +6819,9 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
- "absoluteWidth": 3600000
+ "relative": true,
+ "relativeWidth": 6,
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -3342,7 +6847,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -3359,7 +6865,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -3391,32 +6899,83 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.notifications-hourly-activity}",
+ "title": "{i18n:api-usage.javascript-function-executions-daily-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
- "actions": {
- "headerButton": [
- {
- "name": "{i18n:api-usage.view-details}",
- "icon": "insert_chart",
- "type": "openDashboardState",
- "targetDashboardStateId": "notifications",
- "setEntityId": false,
- "stateEntityParamName": null,
- "openInSeparateDialog": null,
- "dialogTitle": null,
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": null,
- "openRightLayout": false,
- "id": "49aefac0-ec5e-d6f3-f39c-8744759f4b19"
- }
- ]
- },
+ "actions": {},
"showTitleIcon": false,
"titleIcon": "thermostat",
"iconColor": "#1F6BDD",
@@ -3455,14 +7014,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "bc0c8840-a9b5-5583-de7b-9e9450f5d8fe"
+ "id": "a43598d1-7bfd-f329-ee61-c343f34f069f"
},
- "0b091dc3-eec3-847e-d0ad-fdf12d474e7a": {
+ "3ebd62a8-dcb7-c96b-8571-e61084248f5b": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -3476,10 +7035,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "transportMsgCountHourly",
+ "name": "jsExecutionCount",
"type": "timeseries",
- "label": "{i18n:api-usage.transport-messages}",
- "color": "#2196f3",
+ "label": "{i18n:api-usage.javascript-function-executions}",
+ "color": "#FF9900",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -3502,74 +7061,47 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "transportDataPointsCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.transport-data-points}",
- "color": "#4caf50",
- "settings": {
- "excludeFromStacking": false,
- "hideDataByDefault": false,
- "disableDataHiding": false,
- "removeFromLegend": false,
- "showLines": false,
- "fillLines": false,
- "showPoints": false,
- "showPointShape": "circle",
- "pointShapeFormatter": "",
- "showPointsLineWidth": 5,
- "showPointsRadius": 3,
- "showSeparateAxis": false,
- "axisPosition": "left",
- "thresholds": [
- {
- "thresholdValueSource": "predefinedValue"
- }
- ],
- "comparisonSettings": {
- "showValuesForComparison": true
- },
- "type": "bar"
- },
- "_hash": 0.46849996721308895,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
]
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
"selectedTab": 1,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
- "timewindowMs": 2592000000,
- "interval": 86400000,
- "fixedTimewindow": {
- "startTimeMs": 1709729389667,
- "endTimeMs": 1709815789667
- },
- "quickInterval": "CURRENT_DAY"
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "SUM",
+ "type": "NONE",
"limit": 25000
},
"timezone": null
@@ -3644,6 +7176,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -3654,8 +7187,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -3682,11 +7215,109 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
},
- "showTooltip": true,
- "tooltipTrigger": "axis",
- "tooltipValueFont": {
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
"family": "Roboto",
"size": 12,
"sizeUnit": "px",
@@ -3694,46 +7325,20 @@
"weight": "500",
"lineHeight": "16px"
},
- "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
- "tooltipShowDate": true,
- "tooltipDateFormat": {
- "format": "yyyy-MM-dd HH:mm:ss",
- "lastUpdateAgo": false,
- "custom": false
- },
- "tooltipDateFont": {
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
"family": "Roboto",
- "size": 11,
+ "size": 12,
"sizeUnit": "px",
"style": "normal",
"weight": "400",
"lineHeight": "16px"
},
- "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
- "tooltipDateInterval": true,
- "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
- "tooltipBackgroundBlur": 4,
- "animation": {
- "animation": true,
- "animationThreshold": 2000,
- "animationDuration": 1000,
- "animationEasing": "cubicOut",
- "animationDelay": 0,
- "animationDurationUpdate": 300,
- "animationEasingUpdate": "cubicOut",
- "animationDelayUpdate": 0
- },
- "background": {
- "type": "color",
- "color": "#fff",
- "overlay": {
- "enabled": false,
- "color": "rgba(255,255,255,0.72)",
- "blur": 3
- }
- }
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.transport-daily-activity}",
+ "title": "{i18n:api-usage.javascript-function-executions-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -3777,14 +7382,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "0b091dc3-eec3-847e-d0ad-fdf12d474e7a"
+ "id": "3ebd62a8-dcb7-c96b-8571-e61084248f5b"
},
- "536d7104-49f8-fde6-5827-61b8419f15ec": {
+ "88e25971-e5cb-eebb-3c7c-1ce33a8a38f4": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -3798,10 +7403,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "transportMsgCount",
+ "name": "tbelExecutionCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.transport-messages}",
- "color": "#2196f3",
+ "label": "{i18n:api-usage.tbel-function-executions}",
+ "color": "#4CAF50",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -3824,7 +7429,8 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
@@ -3833,43 +7439,6 @@
"usePostProcessing": null,
"postFuncBody": null,
"aggregationType": null
- },
- {
- "name": "transportDataPointsCount",
- "type": "timeseries",
- "label": "{i18n:api-usage.transport-data-points}",
- "color": "#4caf50",
- "settings": {
- "excludeFromStacking": false,
- "hideDataByDefault": false,
- "disableDataHiding": false,
- "removeFromLegend": false,
- "showLines": false,
- "fillLines": false,
- "showPoints": false,
- "showPointShape": "circle",
- "pointShapeFormatter": "",
- "showPointsLineWidth": 5,
- "showPointsRadius": 3,
- "showSeparateAxis": false,
- "axisPosition": "left",
- "thresholds": [
- {
- "thresholdValueSource": "predefinedValue"
- }
- ],
- "comparisonSettings": {
- "showValuesForComparison": true
- },
- "type": "bar"
- },
- "_hash": 0.46849996721308895,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null,
- "aggregationType": null
}
],
"alarmFilterConfig": {
@@ -3880,26 +7449,33 @@
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
- "selectedTab": 1,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
- "timewindowMs": 31536000000,
"interval": 86400000,
- "fixedTimewindow": {
- "startTimeMs": 1709729389667,
- "endTimeMs": 1709815789667
- },
- "quickInterval": "CURRENT_DAY"
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "NONE",
- "limit": 1000
+ "type": "SUM",
+ "limit": 25000
},
"timezone": null
},
@@ -3973,6 +7549,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -3985,7 +7562,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -4011,7 +7588,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -4028,7 +7606,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -4060,9 +7640,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.transport-daily-activity}",
+ "title": "{i18n:api-usage.tbel-function-executions-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -4106,14 +7755,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "536d7104-49f8-fde6-5827-61b8419f15ec"
+ "id": "88e25971-e5cb-eebb-3c7c-1ce33a8a38f4"
},
- "c77e417c-ad9d-8e23-3ea1-c75edd653bc0": {
+ "a1b5731c-e3b3-8cfb-7c50-3abcdce891d2": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -4127,10 +7776,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "ruleEngineExecutionCountHourly",
+ "name": "tbelExecutionCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.rule-engine-executions}",
- "color": "#ab00ff",
+ "label": "{i18n:api-usage.tbel-function-executions}",
+ "color": "#4CAF50",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -4153,22 +7802,26 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
@@ -4178,8 +7831,8 @@
"timewindowMs": 2592000000,
"interval": 86400000,
"fixedTimewindow": {
- "startTimeMs": 1709729900300,
- "endTimeMs": 1709816300300
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
},
"quickInterval": "CURRENT_DAY"
},
@@ -4259,6 +7912,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -4269,8 +7923,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -4297,58 +7951,130 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
},
- "showTooltip": true,
- "tooltipTrigger": "axis",
- "tooltipValueFont": {
+ "legendColumnTitleFont": {
"family": "Roboto",
"size": 12,
"sizeUnit": "px",
"style": "normal",
- "weight": "500",
+ "weight": "400",
"lineHeight": "16px"
},
- "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
- "tooltipShowDate": true,
- "tooltipDateFormat": {
- "format": "yyyy-MM-dd HH:mm:ss",
- "lastUpdateAgo": false,
- "custom": false
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
},
- "tooltipDateFont": {
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
"family": "Roboto",
- "size": 11,
+ "size": 12,
"sizeUnit": "px",
"style": "normal",
"weight": "400",
"lineHeight": "16px"
},
- "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
- "tooltipDateInterval": true,
- "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
- "tooltipBackgroundBlur": 4,
- "animation": {
- "animation": true,
- "animationThreshold": 2000,
- "animationDuration": 1000,
- "animationEasing": "cubicOut",
- "animationDelay": 0,
- "animationDurationUpdate": 300,
- "animationEasingUpdate": "cubicOut",
- "animationDelayUpdate": 0
- },
- "background": {
- "type": "color",
- "color": "#fff",
- "overlay": {
- "enabled": false,
- "color": "rgba(255,255,255,0.72)",
- "blur": 3
- }
- }
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.rule-engine-daily-activity}",
+ "title": "{i18n:api-usage.tbel-function-executions-daily-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -4392,14 +8118,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "c77e417c-ad9d-8e23-3ea1-c75edd653bc0"
+ "id": "a1b5731c-e3b3-8cfb-7c50-3abcdce891d2"
},
- "870904d2-d2e1-a1b9-ce56-b03fd47259b5": {
+ "efc8d4e9-dee2-b677-c378-c1a666543bf4": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -4413,10 +8139,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "ruleEngineExecutionCount",
+ "name": "tbelExecutionCount",
"type": "timeseries",
- "label": "{i18n:api-usage.rule-engine-executions}",
- "color": "#ab00ff",
+ "label": "{i18n:api-usage.tbel-function-executions}",
+ "color": "#4CAF50",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -4439,32 +8165,50 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
]
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
+ "interval": 2592000000,
"timewindowMs": 31536000000,
- "interval": 1000
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -4536,6 +8280,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -4548,7 +8293,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -4574,7 +8319,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -4591,7 +8337,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -4623,9 +8371,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.rule-engine-monthly-activity}",
+ "title": "{i18n:api-usage.tbel-function-executions-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -4669,14 +8486,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "870904d2-d2e1-a1b9-ce56-b03fd47259b5"
+ "id": "efc8d4e9-dee2-b677-c378-c1a666543bf4"
},
- "c66e5060-57fd-11e7-6616-65b82c294ac2": {
+ "61a23bd5-329f-aae7-3168-8a14a51dc10b": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -4690,10 +8507,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "jsExecutionCountHourly",
+ "name": "storageDataPointsCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.javascript-executions}",
- "color": "#ff9900",
+ "label": "{i18n:api-usage.data-points-storage-days}",
+ "color": "#1039EE",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -4716,48 +8533,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "tbelExecutionCountHourly",
- "type": "timeseries",
- "label": "{i18n:api-usage.tbel-executions}",
- "color": "#4caf50",
- "settings": {
- "type": "bar"
- },
- "_hash": 0.5212969314724616,
- "aggregationType": null,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 1,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
+ "interval": 86400000,
"timewindowMs": 2592000000,
- "interval": 86400000
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "SUM",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -4829,6 +8653,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -4839,8 +8664,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -4867,7 +8692,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -4884,7 +8710,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -4916,9 +8744,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.scripts-daily-activity}",
+ "title": "{i18n:api-usage.data-points-storage-days-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -4962,14 +8859,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "c66e5060-57fd-11e7-6616-65b82c294ac2"
+ "id": "61a23bd5-329f-aae7-3168-8a14a51dc10b"
},
- "d0e8603e-5d2e-9287-e2c6-8ccbe9c66806": {
+ "1249d3e2-6b3a-4e4a-65e9-6ed22959871e": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -4983,10 +8880,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "jsExecutionCount",
+ "name": "storageDataPointsCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.javascript-executions}",
- "color": "#ff9900",
+ "label": "{i18n:api-usage.data-points-storage-days}",
+ "color": "#1039EE",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -5009,48 +8906,45 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "tbelExecutionCount",
- "type": "timeseries",
- "label": "{i18n:api-usage.tbel-executions}",
- "color": "#4caf50",
- "settings": {
- "type": "bar"
- },
- "_hash": 0.49748239768082403,
- "aggregationType": null,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
"history": {
"historyType": 0,
- "timewindowMs": 31536000000,
- "interval": 1000
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
- "type": "NONE",
- "limit": 1000
- }
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -5122,6 +9016,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -5134,12 +9029,12 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
- "relative": false,
+ "relative": true,
"relativeWidth": 2,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1000
}
},
"showLegend": true,
@@ -5160,7 +9055,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -5177,7 +9073,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -5209,9 +9107,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.scripts-monthly-activity}",
+ "title": "{i18n:api-usage.data-points-storage-days-daily-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -5255,14 +9222,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "d0e8603e-5d2e-9287-e2c6-8ccbe9c66806"
+ "id": "1249d3e2-6b3a-4e4a-65e9-6ed22959871e"
},
- "7f4100d2-41be-4954-d353-1d45000dbbbb": {
+ "c2f2da29-741d-54f6-5f1d-6f6ae616ea02": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -5276,10 +9243,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "storageDataPointsCountHourly",
+ "name": "storageDataPointsCount",
"type": "timeseries",
"label": "{i18n:api-usage.data-points-storage-days}",
- "color": "#1039ee",
+ "color": "#1039EE",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -5302,32 +9269,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
- "timewindowMs": 2592000000,
- "interval": 86400000
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "SUM",
- "limit": 1000
- }
+ "type": "NONE",
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -5399,6 +9389,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -5409,8 +9400,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -5437,7 +9428,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -5454,7 +9446,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -5486,9 +9480,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.telemetry-persistence-daily-activity}",
+ "title": "{i18n:api-usage.data-points-storage-days-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -5532,14 +9595,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "7f4100d2-41be-4954-d353-1d45000dbbbb"
+ "id": "c2f2da29-741d-54f6-5f1d-6f6ae616ea02"
},
- "226ef8c9-8488-3664-21ac-0b6217336202": {
+ "8e07dbe5-aa7a-19c1-c470-5f055df948a7": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -5553,10 +9616,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "storageDataPointsCount",
+ "name": "createdAlarmsCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.data-points-storage-days}",
- "color": "#1039ee",
+ "label": "{i18n:api-usage.alarms-created}",
+ "color": "#D35A00",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -5579,32 +9642,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 1,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
- "timewindowMs": 31536000000,
- "interval": 1000
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "NONE",
- "limit": 1000
- }
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -5676,6 +9762,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -5688,7 +9775,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -5714,7 +9801,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -5731,7 +9819,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -5763,9 +9853,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.telemetry-persistence-monthly-activity}",
+ "title": "{i18n:api-usage.alarms-created-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -5809,14 +9968,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "226ef8c9-8488-3664-21ac-0b6217336202"
+ "id": "8e07dbe5-aa7a-19c1-c470-5f055df948a7"
},
- "bef6c27b-9fe7-ee92-40d9-9696c501a1f9": {
+ "e0fe9887-d61c-7813-05a7-f60811e5c5bf": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -5833,7 +9992,7 @@
"name": "createdAlarmsCountHourly",
"type": "timeseries",
"label": "{i18n:api-usage.alarms-created}",
- "color": "#d35a00",
+ "color": "#D35A00",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -5843,7 +10002,7 @@
"fillLines": false,
"showPoints": false,
"showPointShape": "circle",
- "pointShapeFormatter": "var size = radius * Math.sqrt(Math.PI) / 2;\nctx.moveTo(x - size, y - size);\nctx.lineTo(x + size, y + size);\nctx.moveTo(x - size, y + size);\nctx.lineTo(x + size, y - size);",
+ "pointShapeFormatter": "",
"showPointsLineWidth": 5,
"showPointsRadius": 3,
"showSeparateAxis": false,
@@ -5856,32 +10015,45 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
"history": {
"historyType": 0,
"timewindowMs": 2592000000,
- "interval": 86400000
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
"type": "SUM",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -5953,6 +10125,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -5963,8 +10136,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -5991,7 +10164,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -6008,7 +10182,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -6040,7 +10216,76 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
"title": "{i18n:api-usage.alarms-created-daily-activity}",
"dropShadow": true,
@@ -6086,14 +10331,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "bef6c27b-9fe7-ee92-40d9-9696c501a1f9"
+ "id": "e0fe9887-d61c-7813-05a7-f60811e5c5bf"
},
- "52305cf8-2258-5745-a0e7-41a171594bb3": {
+ "99a40c35-c232-16c5-c42f-3cc80ddb9243": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -6110,7 +10355,7 @@
"name": "createdAlarmsCount",
"type": "timeseries",
"label": "{i18n:api-usage.alarms-created}",
- "color": "#d35a00",
+ "color": "#D35A00",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -6120,7 +10365,7 @@
"fillLines": false,
"showPoints": false,
"showPointShape": "circle",
- "pointShapeFormatter": "var size = radius * Math.sqrt(Math.PI) / 2;\nctx.moveTo(x - size, y - size);\nctx.lineTo(x + size, y + size);\nctx.moveTo(x - size, y + size);\nctx.lineTo(x + size, y - size);",
+ "pointShapeFormatter": "",
"showPointsLineWidth": 5,
"showPointsRadius": 3,
"showSeparateAxis": false,
@@ -6133,32 +10378,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
+ "interval": 2592000000,
"timewindowMs": 31536000000,
- "interval": 1000
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -6230,6 +10498,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -6242,7 +10511,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -6268,7 +10537,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -6285,7 +10555,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -6317,7 +10589,76 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
"title": "{i18n:api-usage.alarms-created-monthly-activity}",
"dropShadow": true,
@@ -6363,14 +10704,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "52305cf8-2258-5745-a0e7-41a171594bb3"
+ "id": "99a40c35-c232-16c5-c42f-3cc80ddb9243"
},
- "36fdf999-ca22-9a4c-269d-3f004d792792": {
+ "407f7630-406e-9c24-cb3d-b1cbdd190f15": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -6387,7 +10728,7 @@
"name": "emailCountHourly",
"type": "timeseries",
"label": "{i18n:api-usage.email-messages}",
- "color": "#d35a00",
+ "color": "#F36021",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -6410,32 +10751,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 1,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
+ "interval": 86400000,
"timewindowMs": 2592000000,
- "interval": 86400000
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "SUM",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -6507,6 +10871,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -6517,8 +10882,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -6545,7 +10910,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -6562,7 +10928,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -6594,9 +10962,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.email-messages-daily-activity}",
+ "title": "{i18n:api-usage.emails-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -6640,14 +11077,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "36fdf999-ca22-9a4c-269d-3f004d792792"
+ "id": "407f7630-406e-9c24-cb3d-b1cbdd190f15"
},
- "9a191755-499d-535e-86c5-061102729c02": {
+ "b12fb875-89fe-af4c-b344-bf4178de419f": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -6661,10 +11098,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "smsCountHourly",
+ "name": "emailCountHourly",
"type": "timeseries",
- "label": "{i18n:api-usage.sms-messages}",
- "color": "#f36021",
+ "label": "{i18n:api-usage.email-messages}",
+ "color": "#F36021",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -6687,32 +11124,45 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
"history": {
"historyType": 0,
"timewindowMs": 2592000000,
- "interval": 86400000
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
"type": "SUM",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -6784,6 +11234,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -6794,8 +11245,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -6822,7 +11273,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -6839,7 +11291,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -6871,9 +11325,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.sms-messages-daily-activity}",
+ "title": "{i18n:api-usage.emails-daily-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -6917,14 +11440,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "9a191755-499d-535e-86c5-061102729c02"
+ "id": "b12fb875-89fe-af4c-b344-bf4178de419f"
},
- "4b266318-8357-33ef-ca5a-74cbf90e014f": {
+ "0b00099d-d131-3e8b-97ce-c4b8d7bcab1f": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -6941,7 +11464,7 @@
"name": "emailCount",
"type": "timeseries",
"label": "{i18n:api-usage.email-messages}",
- "color": "#d35a00",
+ "color": "#F36021",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -6964,32 +11487,50 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
]
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
+ "hideTimezone": false,
"selectedTab": 1,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
+ "interval": 2592000000,
"timewindowMs": 31536000000,
- "interval": 1000
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 1000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -7061,6 +11602,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -7073,7 +11615,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -7099,7 +11641,8 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -7116,7 +11659,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -7148,9 +11693,78 @@
"color": "rgba(255,255,255,0.72)",
"blur": 3
}
- }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.email-messages-monthly-activity}",
+ "title": "{i18n:api-usage.emails-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -7194,14 +11808,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "4b266318-8357-33ef-ca5a-74cbf90e014f"
+ "id": "0b00099d-d131-3e8b-97ce-c4b8d7bcab1f"
},
- "5aa33b0b-3bd5-7fe7-ee72-f564c2ca79d8": {
+ "5648a56e-5a33-3018-92bd-d8e3dbe8aeee": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -7215,10 +11829,10 @@
"filterId": null,
"dataKeys": [
{
- "name": "smsCount",
+ "name": "smsCountHourly",
"type": "timeseries",
"label": "{i18n:api-usage.sms-messages}",
- "color": "#f36021",
+ "color": "#F36021",
"settings": {
"excludeFromStacking": false,
"hideDataByDefault": false,
@@ -7241,32 +11855,55 @@
"comparisonSettings": {
"showValuesForComparison": true
},
- "type": "bar"
+ "type": "bar",
+ "yAxisId": "default"
},
"_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
- ]
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 1,
+ "hideTimezone": false,
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 0,
+ "interval": 3600000,
+ "timewindowMs": 86400000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
"history": {
"historyType": 0,
- "timewindowMs": 31536000000,
- "interval": 1000
+ "interval": 86400000,
+ "timewindowMs": 2592000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
- "type": "NONE",
- "limit": 1000
- }
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -7338,6 +11975,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -7350,7 +11988,7 @@
"groupWidth": {
"relative": true,
"relativeWidth": 6,
- "absoluteWidth": 900000000
+ "absoluteWidth": 1800000
},
"barWidth": {
"relative": true,
@@ -7376,58 +12014,130 @@
"showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
+ },
+ "showTooltip": true,
+ "tooltipTrigger": "axis",
+ "tooltipValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipShowDate": true,
+ "tooltipDateFormat": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "lastUpdateAgo": false,
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
+ },
+ "tooltipDateFont": {
+ "family": "Roboto",
+ "size": 11,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipDateInterval": true,
+ "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
+ "tooltipBackgroundBlur": 4,
+ "animation": {
+ "animation": true,
+ "animationThreshold": 2000,
+ "animationDuration": 1000,
+ "animationEasing": "cubicOut",
+ "animationDelay": 0,
+ "animationDurationUpdate": 300,
+ "animationEasingUpdate": "cubicOut",
+ "animationDelayUpdate": 0
+ },
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
},
- "showTooltip": true,
- "tooltipTrigger": "axis",
- "tooltipValueFont": {
+ "legendColumnTitleFont": {
"family": "Roboto",
"size": 12,
"sizeUnit": "px",
"style": "normal",
- "weight": "500",
+ "weight": "400",
"lineHeight": "16px"
},
- "tooltipValueColor": "rgba(0, 0, 0, 0.76)",
- "tooltipShowDate": true,
- "tooltipDateFormat": {
- "format": "yyyy-MM-dd HH:mm:ss",
- "lastUpdateAgo": false,
- "custom": false
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
},
- "tooltipDateFont": {
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
"family": "Roboto",
- "size": 11,
+ "size": 12,
"sizeUnit": "px",
"style": "normal",
"weight": "400",
"lineHeight": "16px"
},
- "tooltipDateColor": "rgba(0, 0, 0, 0.76)",
- "tooltipDateInterval": true,
- "tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
- "tooltipBackgroundBlur": 4,
- "animation": {
- "animation": true,
- "animationThreshold": 2000,
- "animationDuration": 1000,
- "animationEasing": "cubicOut",
- "animationDelay": 0,
- "animationDurationUpdate": 300,
- "animationEasingUpdate": "cubicOut",
- "animationDelayUpdate": 0
- },
- "background": {
- "type": "color",
- "color": "#fff",
- "overlay": {
- "enabled": false,
- "color": "rgba(255,255,255,0.72)",
- "blur": 3
- }
- }
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
},
- "title": "{i18n:api-usage.sms-messages-monthly-activity}",
+ "title": "{i18n:api-usage.sms-messages-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -7471,14 +12181,14 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "5aa33b0b-3bd5-7fe7-ee72-f564c2ca79d8"
+ "id": "5648a56e-5a33-3018-92bd-d8e3dbe8aeee"
},
- "fa938580-33db-f1b3-fafc-bc3e3784ad57": {
+ "ab5518c1-34d6-7e17-04b4-6520496d5fe1": {
"typeFullFqn": "system.time_series_chart",
"type": "timeseries",
"sizeX": 8,
@@ -7487,266 +12197,76 @@
"datasources": [
{
"type": "entity",
- "entityAliasId": "2e4c97b0-257a-a1b9-690c-141d9bf2ec6f",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
"dataKeys": [
{
- "name": "successfulMsgs",
- "type": "timeseries",
- "label": "{i18n:api-usage.successful}",
- "color": "#4caf50",
- "settings": {
- "yAxisId": "default",
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "line",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2.5,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "circle",
- "pointSize": 12,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
- },
- "_hash": 0.15490750967648736,
- "aggregationType": null,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "failedMsgs",
- "type": "timeseries",
- "label": "{i18n:api-usage.permanent-failures}",
- "color": "#ef5350",
- "settings": {
- "yAxisId": "default",
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "line",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2.5,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "circle",
- "pointSize": 12,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
- },
- "_hash": 0.4186621166514697,
- "aggregationType": null,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "tmpFailed",
- "type": "timeseries",
- "label": "{i18n:api-usage.processing-failures}",
- "color": "#ffc107",
- "settings": {
- "yAxisId": "default",
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "line",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2.5,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "circle",
- "pointSize": 12,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
+ "name": "smsCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.sms-messages}",
+ "color": "#F36021",
+ "settings": {
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
}
- }
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
+ },
+ "type": "bar",
+ "yAxisId": "default"
},
- "_hash": 0.49891007198715376,
- "aggregationType": null,
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": null
}
],
"alarmFilterConfig": {
"statusList": [
"ACTIVE"
]
- },
- "latestDataKeys": [
- {
- "name": "queueName",
- "type": "entityField",
- "label": "Queue name",
- "color": "#ffc107",
- "settings": {},
- "_hash": 0.7021721434431745
- },
- {
- "name": "serviceId",
- "type": "entityField",
- "label": "Service Id",
- "color": "#607d8b",
- "settings": {},
- "_hash": 0.5924381120750077
- }
- ]
+ }
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 0,
- "realtime": {
- "timewindowMs": 3600000,
- "interval": 1000
+ "hideTimezone": false,
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 2592000000,
+ "interval": 86400000,
+ "fixedTimewindow": {
+ "startTimeMs": 1709729389667,
+ "endTimeMs": 1709815789667
+ },
+ "quickInterval": "CURRENT_DAY"
},
"aggregation": {
- "type": "NONE",
- "limit": 10000
- }
+ "type": "SUM",
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -7818,6 +12338,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -7828,8 +12349,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -7852,11 +12373,12 @@
"direction": "column",
"position": "bottom",
"sortDataKeys": false,
- "showMin": true,
- "showMax": true,
+ "showMin": false,
+ "showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -7873,7 +12395,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -7885,13 +12409,12 @@
},
"tooltipDateColor": "rgba(0, 0, 0, 0.76)",
"tooltipDateInterval": true,
- "tooltipHideZeroValues": true,
"tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
"tooltipBackgroundBlur": 4,
"animation": {
"animation": true,
"animationThreshold": 2000,
- "animationDuration": 300,
+ "animationDuration": 1000,
"animationEasing": "cubicOut",
"animationDelay": 0,
"animationDurationUpdate": 300,
@@ -7907,255 +12430,211 @@
"blur": 3
}
},
- "padding": "12px"
- },
- "title": "{i18n:api-usage.queue-stats}",
- "dropShadow": true,
- "enableFullscreen": true,
- "titleStyle": null,
- "configMode": "basic",
- "actions": {},
- "showTitleIcon": false,
- "titleIcon": "thermostat",
- "iconColor": "#1F6BDD",
- "useDashboardTimewindow": false,
- "displayTimewindow": true,
- "titleFont": {
- "size": 16,
- "sizeUnit": "px",
- "family": "Roboto",
- "weight": "500",
- "style": "normal",
- "lineHeight": "24px"
- },
- "titleColor": "rgba(0, 0, 0, 0.87)",
- "titleTooltip": "",
- "widgetStyle": {},
- "widgetCss": "",
- "pageSize": 1024,
- "units": "",
- "decimals": null,
- "noDataDisplayMessage": "",
- "timewindowStyle": {
- "showIcon": false,
- "iconSize": "24px",
- "icon": null,
- "iconPosition": "left",
- "font": {
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
"size": 12,
"sizeUnit": "px",
- "family": "Roboto",
+ "style": "normal",
"weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
"style": "normal",
+ "weight": "500",
"lineHeight": "16px"
},
- "color": "rgba(0, 0, 0, 0.38)",
- "displayTypePrefix": true
- },
- "margin": "0px",
- "borderRadius": "0px",
- "iconSize": "0px"
- },
- "row": 0,
- "col": 0,
- "id": "fa938580-33db-f1b3-fafc-bc3e3784ad57"
- },
- "2ee89893-4e38-5331-95b7-3fd4f310c5a7": {
- "typeFullFqn": "system.time_series_chart",
- "type": "timeseries",
- "sizeX": 8,
- "sizeY": 5,
- "config": {
- "datasources": [
- {
- "type": "entity",
- "entityAliasId": "2e4c97b0-257a-a1b9-690c-141d9bf2ec6f",
- "dataKeys": [
- {
- "name": "timeoutMsgs",
- "type": "timeseries",
- "label": "{i18n:api-usage.permanent-timeouts}",
- "color": "#4caf50",
- "settings": {
- "yAxisId": "default",
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "line",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2.5,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "circle",
- "pointSize": 12,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- },
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
- },
- "_hash": 0.565222981550328,
- "aggregationType": null,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": null,
- "postFuncBody": null
- },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
+ "padding": "12px"
+ },
+ "title": "{i18n:api-usage.sms-messages-daily-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": null,
+ "configMode": "basic",
+ "actions": {},
+ "showTitleIcon": false,
+ "titleIcon": "thermostat",
+ "iconColor": "#1F6BDD",
+ "useDashboardTimewindow": false,
+ "displayTimewindow": true,
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "500",
+ "style": "normal",
+ "lineHeight": "24px"
+ },
+ "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleTooltip": "",
+ "widgetStyle": {},
+ "widgetCss": "",
+ "pageSize": 1024,
+ "units": "",
+ "decimals": null,
+ "noDataDisplayMessage": "",
+ "timewindowStyle": {
+ "showIcon": false,
+ "iconSize": "24px",
+ "icon": null,
+ "iconPosition": "left",
+ "font": {
+ "size": 12,
+ "sizeUnit": "px",
+ "family": "Roboto",
+ "weight": "400",
+ "style": "normal",
+ "lineHeight": "16px"
+ },
+ "color": "rgba(0, 0, 0, 0.38)",
+ "displayTypePrefix": true
+ },
+ "margin": "0px",
+ "borderRadius": "4px",
+ "iconSize": "0px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "ab5518c1-34d6-7e17-04b4-6520496d5fe1"
+ },
+ "2e7326ac-98d3-e68c-b7cf-948118a3f140": {
+ "typeFullFqn": "system.time_series_chart",
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
{
- "name": "tmpTimeout",
+ "name": "smsCount",
"type": "timeseries",
- "label": "{i18n:api-usage.processing-timeouts}",
- "color": "#9c27b0",
+ "label": "{i18n:api-usage.sms-messages}",
+ "color": "#F36021",
"settings": {
- "yAxisId": "default",
- "showInLegend": true,
- "dataHiddenByDefault": false,
- "type": "line",
- "lineSettings": {
- "showLine": true,
- "step": false,
- "stepType": "start",
- "smooth": false,
- "lineType": "solid",
- "lineWidth": 2.5,
- "showPoints": false,
- "showPointLabel": false,
- "pointLabelPosition": "top",
- "pointLabelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "pointLabelColor": "rgba(0, 0, 0, 0.76)",
- "pointShape": "circle",
- "pointSize": 12,
- "fillAreaSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
+ "excludeFromStacking": false,
+ "hideDataByDefault": false,
+ "disableDataHiding": false,
+ "removeFromLegend": false,
+ "showLines": false,
+ "fillLines": false,
+ "showPoints": false,
+ "showPointShape": "circle",
+ "pointShapeFormatter": "",
+ "showPointsLineWidth": 5,
+ "showPointsRadius": 3,
+ "showSeparateAxis": false,
+ "axisPosition": "left",
+ "thresholds": [
+ {
+ "thresholdValueSource": "predefinedValue"
}
+ ],
+ "comparisonSettings": {
+ "showValuesForComparison": true
},
- "barSettings": {
- "showBorder": false,
- "borderWidth": 2,
- "borderRadius": 0,
- "showLabel": false,
- "labelPosition": "top",
- "labelFont": {
- "family": "Roboto",
- "size": 11,
- "sizeUnit": "px",
- "style": "normal",
- "weight": "400",
- "lineHeight": "1"
- },
- "labelColor": "rgba(0, 0, 0, 0.76)",
- "backgroundSettings": {
- "type": "none",
- "opacity": 0.4,
- "gradient": {
- "start": 100,
- "end": 0
- }
- }
- }
+ "type": "bar",
+ "yAxisId": "default"
},
- "_hash": 0.2679547062508352,
- "aggregationType": null,
+ "_hash": 0.0661644137210089,
"units": null,
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
- }
- ],
- "alarmFilterConfig": {
- "statusList": [
- "ACTIVE"
- ]
- },
- "latestDataKeys": [
- {
- "name": "queueName",
- "type": "entityField",
- "label": "Queue name",
- "color": "#f44336",
- "settings": {},
- "_hash": 0.7066844328378095
- },
- {
- "name": "serviceId",
- "type": "entityField",
- "label": "Service Id",
- "color": "#ffc107",
- "settings": {},
- "_hash": 0.1371570237026627
+ "postFuncBody": null,
+ "aggregationType": null
}
]
}
],
"timewindow": {
- "hideInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
- "selectedTab": 0,
+ "hideTimezone": false,
+ "selectedTab": 1,
"realtime": {
- "timewindowMs": 3600000,
- "interval": 1000
+ "realtimeType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 2592000000,
+ "timewindowMs": 31536000000,
+ "fixedTimewindow": null,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
},
"aggregation": {
"type": "NONE",
- "limit": 10000
- }
+ "limit": 25000
+ },
+ "timezone": null
},
"showTitle": true,
"backgroundColor": "#FFFFFF",
@@ -8227,6 +12706,7 @@
"lineHeight": "1"
},
"tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
"showTicks": true,
"ticksColor": "rgba(0, 0, 0, 0.54)",
"showLine": true,
@@ -8237,8 +12717,8 @@
"noAggregationBarWidthSettings": {
"strategy": "group",
"groupWidth": {
- "relative": false,
- "relativeWidth": 2,
+ "relative": true,
+ "relativeWidth": 6,
"absoluteWidth": 1800000
},
"barWidth": {
@@ -8261,11 +12741,12 @@
"direction": "column",
"position": "bottom",
"sortDataKeys": false,
- "showMin": true,
- "showMax": true,
+ "showMin": false,
+ "showMax": false,
"showAvg": false,
"showTotal": true,
- "showLatest": false
+ "showLatest": false,
+ "valueFormat": null
},
"showTooltip": true,
"tooltipTrigger": "axis",
@@ -8282,7 +12763,9 @@
"tooltipDateFormat": {
"format": "yyyy-MM-dd HH:mm:ss",
"lastUpdateAgo": false,
- "custom": false
+ "custom": false,
+ "auto": true,
+ "autoDateFormatSettings": {}
},
"tooltipDateFont": {
"family": "Roboto",
@@ -8294,31 +12777,98 @@
},
"tooltipDateColor": "rgba(0, 0, 0, 0.76)",
"tooltipDateInterval": true,
- "tooltipHideZeroValues": true,
"tooltipBackgroundColor": "rgba(255, 255, 255, 0.76)",
"tooltipBackgroundBlur": 4,
"animation": {
"animation": true,
"animationThreshold": 2000,
- "animationDuration": 300,
+ "animationDuration": 1000,
"animationEasing": "cubicOut",
"animationDelay": 0,
"animationDurationUpdate": 300,
"animationEasingUpdate": "cubicOut",
"animationDelayUpdate": 0
},
- "background": {
- "type": "color",
- "color": "#fff",
- "overlay": {
- "enabled": false,
- "color": "rgba(255,255,255,0.72)",
- "blur": 3
- }
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "comparisonEnabled": false,
+ "timeForComparison": "previousInterval",
+ "comparisonCustomIntervalValue": 7200000,
+ "comparisonXAxis": {
+ "show": true,
+ "label": "",
+ "labelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "600",
+ "lineHeight": "1"
+ },
+ "labelColor": "rgba(0, 0, 0, 0.54)",
+ "position": "top",
+ "showTickLabels": true,
+ "tickLabelFont": {
+ "family": "Roboto",
+ "size": 10,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "1"
+ },
+ "tickLabelColor": "rgba(0, 0, 0, 0.54)",
+ "ticksFormat": {},
+ "showTicks": true,
+ "ticksColor": "rgba(0, 0, 0, 0.54)",
+ "showLine": true,
+ "lineColor": "rgba(0, 0, 0, 0.54)",
+ "showSplitLines": true,
+ "splitLinesColor": "rgba(0, 0, 0, 0.12)"
+ },
+ "grid": {
+ "show": false,
+ "backgroundColor": null,
+ "borderWidth": 1,
+ "borderColor": "#ccc"
+ },
+ "legendColumnTitleFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
+ },
+ "legendColumnTitleColor": "rgba(0, 0, 0, 0.38)",
+ "legendValueFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "500",
+ "lineHeight": "16px"
+ },
+ "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "tooltipLabelFont": {
+ "family": "Roboto",
+ "size": 12,
+ "sizeUnit": "px",
+ "style": "normal",
+ "weight": "400",
+ "lineHeight": "16px"
},
+ "tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
+ "tooltipHideZeroValues": null,
"padding": "12px"
},
- "title": "{i18n:api-usage.processing-failures-and-timeouts}",
+ "title": "{i18n:api-usage.sms-messages-monthly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": null,
@@ -8362,12 +12912,348 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "0px",
+ "borderRadius": "4px",
"iconSize": "0px"
},
"row": 0,
"col": 0,
- "id": "2ee89893-4e38-5331-95b7-3fd4f310c5a7"
+ "id": "2e7326ac-98d3-e68c-b7cf-948118a3f140"
+ },
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
+ "typeFullFqn": "system.api_usage",
+ "type": "latest",
+ "sizeX": 7.5,
+ "sizeY": 3,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": "",
+ "dataKeys": []
+ }
+ ],
+ "timewindow": {
+ "displayValue": "",
+ "selectedTab": 0,
+ "realtime": {
+ "realtimeType": 1,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideQuickInterval": false
+ },
+ "history": {
+ "historyType": 0,
+ "interval": 1000,
+ "timewindowMs": 60000,
+ "fixedTimewindow": {
+ "startTimeMs": 1756302747649,
+ "endTimeMs": 1756389147649
+ },
+ "quickInterval": "CURRENT_DAY",
+ "hideInterval": false,
+ "hideLastInterval": false,
+ "hideFixedInterval": false,
+ "hideQuickInterval": false
+ },
+ "aggregation": {
+ "type": "AVG",
+ "limit": 25000
+ }
+ },
+ "showTitle": true,
+ "backgroundColor": "#fff",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "0",
+ "settings": {
+ "dsEntityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "dataKeys": [
+ {
+ "label": "{i18n:api-usage.transport-messages}",
+ "state": "transport_messages",
+ "status": {
+ "name": "transportApiState",
+ "label": "transportApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "transportMsgLimit",
+ "label": "transportMsgLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "transportMsgCount",
+ "label": "transportMsgCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.transport-data-points}",
+ "state": "transport_data_points",
+ "status": {
+ "name": "transportApiState",
+ "label": "transportApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "transportDataPointsLimit",
+ "label": "transportDataPointsLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "transportDataPointsCount",
+ "label": "transportDataPointsCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.rule-engine-executions}",
+ "state": "rule_engine_executions",
+ "status": {
+ "name": "ruleEngineApiState",
+ "label": "ruleEngineApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "ruleEngineExecutionLimit",
+ "label": "ruleEngineExecutionLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "ruleEngineExecutionCount",
+ "label": "ruleEngineExecutionCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.javascript-function-executions}",
+ "state": "javascript_function_executions",
+ "status": {
+ "name": "jsExecutionApiState",
+ "label": "jsExecutionApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "jsExecutionLimit",
+ "label": "jsExecutionLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "jsExecutionCount",
+ "label": "jsExecutionCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.tbel-function-executions}",
+ "state": "tbel_function_executions",
+ "status": {
+ "name": "tbelExecutionApiState",
+ "label": "tbelExecutionApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "tbelExecutionLimit",
+ "label": "tbelExecutionLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "tbelExecutionCount",
+ "label": "tbelExecutionCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.data-points-storage-days}",
+ "state": "data_points_storage_days",
+ "status": {
+ "name": "dbApiState",
+ "label": "dbApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "storageDataPointsLimit",
+ "label": "storageDataPointsLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "storageDataPointsCount",
+ "label": "storageDataPointsCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.alarms-created}",
+ "state": "alarms_created",
+ "status": {
+ "name": "alarmApiState",
+ "label": "alarmApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "createdAlarmsLimit",
+ "label": "createdAlarmsLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "createdAlarmsCount",
+ "label": "createdAlarmsCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.emails}",
+ "state": "emails",
+ "status": {
+ "name": "emailApiState",
+ "label": "emailApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "emailLimit",
+ "label": "emailLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "emailCount",
+ "label": "emailCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ },
+ {
+ "label": "{i18n:api-usage.sms}",
+ "state": "sms",
+ "status": {
+ "name": "notificationApiState",
+ "label": "notificationApiState",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "maxLimit": {
+ "name": "smsLimit",
+ "label": "smsLimit",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ },
+ "current": {
+ "name": "smsCount",
+ "label": "smsCount",
+ "type": "timeseries",
+ "settings": {},
+ "color": "#2196f3"
+ }
+ }
+ ],
+ "targetDashboardState": "default",
+ "background": {
+ "type": "color",
+ "color": "#fff",
+ "overlay": {
+ "enabled": false,
+ "color": "rgba(255,255,255,0.72)",
+ "blur": 3
+ }
+ },
+ "padding": "0"
+ },
+ "title": "{i18n:api-usage.api-usage}",
+ "decimals": null,
+ "showTitleIcon": false,
+ "titleTooltip": "",
+ "dropShadow": true,
+ "enableFullscreen": false,
+ "widgetStyle": {},
+ "widgetCss": ".tb-widget-header {\n height: 48px;\n align-items: center !important;\n padding: 5px 10px 0 10px;\n}",
+ "titleStyle": {},
+ "pageSize": 1024,
+ "noDataDisplayMessage": "",
+ "actions": {
+ "headerButton": [
+ {
+ "name": "Go back",
+ "buttonType": "stroked",
+ "showIcon": true,
+ "icon": "undo",
+ "buttonColor": "#305680",
+ "buttonBorderColor": "#0000001F",
+ "customButtonStyle": {
+ "padding": "0 16px"
+ },
+ "useShowWidgetActionFunction": true,
+ "showWidgetActionFunction": "return widgetContext.stateController.getStateId() !== widgetContext.settings.targetDashboardState && widgetContext.settings.targetDashboardState;",
+ "type": "custom",
+ "customFunction": "const state = widgetContext.settings.targetDashboardState?.length ? widgetContext.settings.targetDashboardState : 'default';\nwidgetContext.stateController.updateState(state, widgetContext.stateController.getStateParams(), false);",
+ "openInSeparateDialog": false,
+ "openInPopover": false,
+ "id": "1ea1cca6-47d1-3539-d051-9535129fb12b"
+ }
+ ]
+ },
+ "titleFont": {
+ "size": 16,
+ "sizeUnit": "px",
+ "family": null,
+ "weight": "500",
+ "style": null,
+ "lineHeight": "21px"
+ },
+ "borderRadius": "4px"
+ },
+ "row": 0,
+ "col": 0,
+ "id": "07e3a570-c961-b72d-3371-5b29f3617b73"
}
},
"states": {
@@ -8377,346 +13263,847 @@
"layouts": {
"main": {
"widgets": {
- "aab68ab5-8e40-8694-c55c-8eb1c89b88fb": {
- "sizeX": 4,
- "sizeY": 2,
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
+ "sizeX": 24,
+ "sizeY": 39,
"row": 0,
"col": 0
- },
- "a84fa70a-ddfa-3b24-9aa4-cf9ce91f919a": {
- "sizeX": 4,
- "sizeY": 2,
+ }
+ },
+ "gridSettings": {
+ "backgroundColor": "#eeeeee",
+ "color": "rgba(0,0,0,0.870588)",
+ "columns": 12,
+ "margin": 8,
+ "backgroundSizeMode": "100%",
+ "autoFillHeight": true,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 100,
+ "outerMargin": true,
+ "layoutType": "divider",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "rowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "85240e8c-7af7-90a9-ad0a-726013c479a6": {
+ "sizeX": 7,
+ "sizeY": 5,
"row": 0,
- "col": 4
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "d70d26d4-e22d-4ca9-9ea7-f9c87c093321": {
- "sizeX": 4,
- "sizeY": 2,
+ "d0a10a8f-8f48-f9d6-8306-d12af9b49690": {
+ "sizeX": 7,
+ "sizeY": 5,
"row": 0,
- "col": 8
+ "col": 7,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "4544080d-9b6f-b592-9cd4-0e0335d33857": {
+ "sizeX": 7,
+ "sizeY": 5,
+ "row": 5,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "5d0f2f57-499d-1324-8e1b-cfbc0b3149d2": {
+ "sizeX": 7,
+ "sizeY": 5,
+ "row": 5,
+ "col": 7,
+ "resizable": true,
+ "mobileHeight": 6
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": false,
+ "mobileRowHeight": 70,
+ "mobileDisplayLayoutFirst": false
+ }
+ }
+ }
+ },
+ "rule_engine_statistics": {
+ "name": "{i18n:api-usage.rule-engine-statistics}",
+ "root": false,
+ "layouts": {
+ "main": {
+ "widgets": {
+ "a669cf86-e715-efa4-dd9a-b839abf499e9": {
+ "sizeX": 24,
+ "sizeY": 5,
+ "row": 7,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "4d3ea95c-3188-9872-1817-2f989c7729e0": {
- "sizeX": 4,
- "sizeY": 2,
+ "fa938580-33db-f1b3-fafc-bc3e3784ad57": {
+ "sizeX": 12,
+ "sizeY": 7,
"row": 0,
- "col": 12
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "2d0d6ff6-cd59-51d4-b916-38e22cdd0702": {
- "sizeX": 4,
- "sizeY": 2,
+ "2ee89893-4e38-5331-95b7-3fd4f310c5a7": {
+ "sizeX": 12,
+ "sizeY": 7,
"row": 0,
- "col": 16
- },
- "120573cc-e246-eb49-7d80-68e5d3b3c0cc": {
- "sizeX": 4,
- "sizeY": 2,
+ "col": 12,
+ "resizable": true,
+ "mobileHeight": 6
+ }
+ },
+ "gridSettings": {
+ "backgroundColor": "#eeeeee",
+ "color": "rgba(0,0,0,0.870588)",
+ "columns": 24,
+ "margin": 8,
+ "backgroundSizeMode": "100%",
+ "autoFillHeight": true,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": false,
+ "mobileRowHeight": 70,
+ "outerMargin": true,
+ "layoutType": "default",
+ "minColumns": 24,
+ "viewFormat": "grid",
+ "rowHeight": 70
+ }
+ }
+ }
+ },
+ "transport_messages": {
+ "name": "{i18n:api-usage.transport-messages}",
+ "root": false,
+ "layouts": {
+ "main": {
+ "widgets": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
+ "sizeX": 24,
+ "sizeY": 39,
"row": 0,
- "col": 20
- },
- "63f99d90-23ab-f8c2-3290-1e693ded5a2e": {
- "sizeX": 8,
- "sizeY": 4,
- "row": 2,
- "col": 0
- },
- "a2b7e906-2d8a-41a8-99a6-409531bfa743": {
- "sizeX": 8,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 4
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "51608a74-f213-d8c9-8df8-b42238ef93a6": {
+ "sizeX": 12,
"sizeY": 4,
- "row": 2,
- "col": 8
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "ca996b66-ab7e-f977-152c-98e4ebf2a901": {
- "sizeX": 8,
+ "fb155957-1af4-233e-e2fb-09e648e75d6e": {
+ "sizeX": 6,
"sizeY": 4,
- "row": 2,
- "col": 16
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "a3c2f1bb-7d3a-f11c-7b3d-28cd84fdfe34": {
- "sizeX": 8,
+ "4817e33b-87be-5be3-eaca-ca68a2eb4e0c": {
+ "sizeX": 6,
"sizeY": 4,
- "row": 6,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": false,
+ "mobileRowHeight": 70,
+ "mobileDisplayLayoutFirst": false
+ }
+ }
+ }
+ },
+ "transport_data_points": {
+ "name": "{i18n:api-usage.transport-data-points}",
+ "root": false,
+ "layouts": {
+ "main": {
+ "widgets": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
+ "sizeX": 24,
+ "sizeY": 39,
+ "row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "9e00cc90-520d-2108-1d2f-bba68ed5cbf1": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "5cebd4f1-ff6e-62f9-025c-8e7583c3d66a": {
- "sizeX": 8,
+ "79056202-c92b-1dae-ce49-318ec52e2d3b": {
+ "sizeX": 6,
"sizeY": 4,
- "row": 6,
- "col": 8
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "bc0c8840-a9b5-5583-de7b-9e9450f5d8fe": {
- "sizeX": 8,
+ "966ffee7-ba0d-8e54-f903-e8d015ca8cd2": {
+ "sizeX": 6,
"sizeY": 4,
- "row": 6,
- "col": 16
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
- "mobileRowHeight": 100,
- "outerMargin": true
+ "mobileRowHeight": 70,
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "transport": {
- "name": "{i18n:api-usage.transport}",
+ "rule_engine_executions": {
+ "name": "{i18n:api-usage.rule-engine-executions}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "0b091dc3-eec3-847e-d0ad-fdf12d474e7a": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 6,
+ "sizeY": 39,
"row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "b1a9a51f-e5a6-9d5f-ef5c-25c2a68af1b0": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "536d7104-49f8-fde6-5827-61b8419f15ec": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "84fbe63a-bcb6-7bc1-8af0-46b3b1ee5adc": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "43a2b982-6c02-d9bd-71ee-34e8e6cf8893": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "rule_engine_execution": {
- "name": "{i18n:api-usage.rule-engine-executions}",
+ "javascript_function_executions": {
+ "name": "{i18n:api-usage.javascript-function-executions}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "c77e417c-ad9d-8e23-3ea1-c75edd653bc0": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 6,
+ "sizeY": 39,
"row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "76fe83c9-c30f-00a5-6299-40c759ca6705": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "870904d2-d2e1-a1b9-ce56-b03fd47259b5": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "a43598d1-7bfd-f329-ee61-c343f34f069f": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "3ebd62a8-dcb7-c96b-8571-e61084248f5b": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "telemetry_persistence": {
- "name": "{i18n:api-usage.telemetry-persistence}",
+ "tbel_function_executions": {
+ "name": "{i18n:api-usage.tbel-function-executions}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "7f4100d2-41be-4954-d353-1d45000dbbbb": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 6,
+ "sizeY": 39,
"row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "88e25971-e5cb-eebb-3c7c-1ce33a8a38f4": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "226ef8c9-8488-3664-21ac-0b6217336202": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "a1b5731c-e3b3-8cfb-7c50-3abcdce891d2": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "efc8d4e9-dee2-b677-c378-c1a666543bf4": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "rule_engine_statistics": {
- "name": "{i18n:api-usage.rule-engine-statistics}",
+ "data_points_storage_days": {
+ "name": "{i18n:api-usage.data-points-storage-days}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "a669cf86-e715-efa4-dd9a-b839abf499e9": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 5,
- "row": 7,
- "col": 0
- },
- "fa938580-33db-f1b3-fafc-bc3e3784ad57": {
- "sizeX": 12,
- "sizeY": 7,
+ "sizeY": 39,
"row": 0,
"col": 0
- },
- "2ee89893-4e38-5331-95b7-3fd4f310c5a7": {
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "61a23bd5-329f-aae7-3168-8a14a51dc10b": {
"sizeX": 12,
- "sizeY": 7,
+ "sizeY": 4,
"row": 0,
- "col": 12
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "1249d3e2-6b3a-4e4a-65e9-6ed22959871e": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "c2f2da29-741d-54f6-5f1d-6f6ae616ea02": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "notifications": {
- "name": "{i18n:api-usage.notifications-email-sms}",
+ "emails": {
+ "name": "{i18n:api-usage.emails}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "36fdf999-ca22-9a4c-269d-3f004d792792": {
- "sizeX": 12,
- "sizeY": 6,
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
+ "sizeX": 24,
+ "sizeY": 39,
"row": 0,
"col": 0
- },
- "9a191755-499d-535e-86c5-061102729c02": {
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "407f7630-406e-9c24-cb3d-b1cbdd190f15": {
"sizeX": 12,
- "sizeY": 6,
+ "sizeY": 4,
"row": 0,
- "col": 12
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "4b266318-8357-33ef-ca5a-74cbf90e014f": {
- "sizeX": 12,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "b12fb875-89fe-af4c-b344-bf4178de419f": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "5aa33b0b-3bd5-7fe7-ee72-f564c2ca79d8": {
- "sizeX": 12,
- "sizeY": 6,
- "row": 6,
- "col": 12
+ "0b00099d-d131-3e8b-97ce-c4b8d7bcab1f": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "alarms_created": {
- "name": "{i18n:api-usage.alarms-created}",
+ "sms": {
+ "name": "{i18n:api-usage.sms}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "bef6c27b-9fe7-ee92-40d9-9696c501a1f9": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 6,
+ "sizeY": 39,
"row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "5648a56e-5a33-3018-92bd-d8e3dbe8aeee": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "52305cf8-2258-5745-a0e7-41a171594bb3": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "ab5518c1-34d6-7e17-04b4-6520496d5fe1": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "2e7326ac-98d3-e68c-b7cf-948118a3f140": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
},
- "script_functions": {
- "name": "{i18n:api-usage.scripts}",
+ "alarms_created": {
+ "name": "{i18n:api-usage.alarms-created}",
"root": false,
"layouts": {
"main": {
"widgets": {
- "c66e5060-57fd-11e7-6616-65b82c294ac2": {
+ "07e3a570-c961-b72d-3371-5b29f3617b73": {
"sizeX": 24,
- "sizeY": 6,
+ "sizeY": 39,
"row": 0,
"col": 0
+ }
+ },
+ "gridSettings": {
+ "layoutType": "divider",
+ "backgroundColor": "#eeeeee",
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
+ "backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
+ "autoFillHeight": true,
+ "rowHeight": 70,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": true,
+ "mobileRowHeight": 70,
+ "layoutDimension": {
+ "type": "percentage",
+ "leftWidthPercentage": 30
+ }
+ }
+ },
+ "right": {
+ "widgets": {
+ "8e07dbe5-aa7a-19c1-c470-5f055df948a7": {
+ "sizeX": 12,
+ "sizeY": 4,
+ "row": 0,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
},
- "d0e8603e-5d2e-9287-e2c6-8ccbe9c66806": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
+ "e0fe9887-d61c-7813-05a7-f60811e5c5bf": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 0,
+ "resizable": true,
+ "mobileHeight": 6
+ },
+ "99a40c35-c232-16c5-c42f-3cc80ddb9243": {
+ "sizeX": 6,
+ "sizeY": 4,
+ "row": 4,
+ "col": 6,
+ "resizable": true,
+ "mobileHeight": 6
}
},
"gridSettings": {
+ "layoutType": "divider",
"backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 5,
+ "columns": 12,
+ "margin": 8,
+ "outerMargin": true,
"backgroundSizeMode": "100%",
+ "minColumns": 12,
+ "viewFormat": "grid",
"autoFillHeight": true,
+ "rowHeight": 70,
"backgroundImageUrl": null,
"mobileAutoFillHeight": false,
"mobileRowHeight": 70,
- "outerMargin": true
+ "mobileDisplayLayoutFirst": false
}
}
}
@@ -8743,9 +14130,6 @@
},
"filters": {},
"timewindow": {
- "hideInterval": false,
- "hideLastInterval": false,
- "hideQuickInterval": false,
"hideAggregation": false,
"hideAggInterval": false,
"hideTimezone": false,
@@ -8776,7 +14160,7 @@
"dashboardLogoUrl": null,
"hideToolbar": false,
"showUpdateDashboardImage": false,
- "dashboardCss": ".card .bars-row {\n flex: 1;\n display: flex;\n flex-direction: row;\n}\n\n.card .bar-column {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n\n.card {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n\n.card > img {\n height: 0;\n}\n\n.card .content {\n flex: 1; \n padding: 12px 12px 0;\n display: flex;\n box-sizing: border-box;\n}\n\n.card .content .column {\n display: flex;\n flex-direction: column; \n justify-content: space-around;\n flex: 1;\n}\n\n.card .content .title-row {\n display: flex;\n flex-direction: row;\n padding-bottom: 10px;\n}\n\n.card .title {\n flex: 1;\n font-size: 20px;\n font-weight: 400;\n color: #666666;\n}\n\n.card .state {\n text-transform: uppercase;\n font-size: 20px;\n font-weight: bold;\n}\n\n.card.enabled .state {\n color: #00B260;\n}\n\n.card.warning .state {\n color: #FFAD6F;\n}\n\n.card.disabled .state {\n color: #F73243;\n}\n\n.card .bar-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.card .bar {\n flex: 1;\n max-height: 30px;\n margin-top: 3.5px;\n margin-bottom: 4px;\n background-color: #F0F0F0;\n border: 1px solid #DADCDB;\n border-radius: 2px;\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);\n}\n\n.card.enabled .bar {\n border-color: #00B260;\n background-color: #F0FBF7;\n}\n\n.card.warning .bar {\n border-color: #FFAD6F;\n background-color: #FFFAF6;\n}\n\n.card.disabled .bar {\n border-color: #F73243;\n background-color: #FFF0F0;\n}\n\n.card .bar .bar-fill {\n background-color: #F0F0F0;\n border-radius: 2px;\n height: 100%;\n width: 0%;\n}\n\n.card.enabled .bar-fill {\n background-color: #00C46C;\n}\n\n.card.warning .bar-fill {\n background-color: #FFD099;\n}\n\n.card.disabled .bar-fill {\n background-color: #FF9494;\n}\n\n.card .bar-labels {\n height: 20px;\n font-size: 16px;\n color: #666;\n display: flex;\n flex-direction: row;\n}\n\n\n.card .mat-mdc-button-base {\n text-transform: uppercase;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.card .mdc-button__label {\n pointer-events: none;\n}\n\n.action-row {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n padding: 8px 0;\n}\n\n.card .unit {\n color: #666666;\n}\n\n@media screen and (min-width: 960px) and (max-width: 1279px) {\n .card .title {\n font-size: 12px;\n }\n .card .state {\n font-size: 12px;\n }\n .card .unit {\n font-size: 8px;\n }\n .card .bar-labels {\n font-size: 8px;\n }\n .card .mat-mdc-button-base {\n font-size: 8px;\n }\n .card .action-row {\n padding: 0;\n }\n}\n\n@media screen and (min-width: 1280px) and (max-width: 1599px) {\n .card .title {\n font-size: 14px;\n }\n .card .state {\n font-size: 14px;\n }\n .card .unit {\n font-size: 10px;\n }\n .card .bar-labels {\n font-size: 10px;\n }\n .card .mat-mdc-button-base {\n font-size: 10px;\n }\n .card .action-row {\n padding: 0;\n }\n}\n\n@media screen and (min-width: 1600px) and (max-width: 1919px) {\n .card .title {\n font-size: 16px;\n }\n .card .state {\n font-size: 16px;\n }\n .card .unit {\n font-size: 12px;\n }\n .card .bar-labels {\n font-size: 12px;\n }\n .card .mat-mdc-button-base {\n font-size: 12px;\n }\n .card .action-row {\n padding: 0;\n }\n} "
+ "dashboardCss": ""
}
},
"name": "Api Usage"
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index c057ee877a..346341d404 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -865,15 +865,18 @@
"api-features": "API features",
"api-usage": "API usage",
"alarm": "Alarm",
- "alarms-created": "Alarms created",
+ "alarms-created": "Created alarms",
"queue-stats": "Queue Stats",
"processing-failures-and-timeouts": "Processing Failures and Timeouts",
"exceptions": "Exceptions",
- "alarms-created-daily-activity": "Alarms created daily activity",
- "alarms-created-hourly-activity": "Alarms created hourly activity",
- "alarms-created-monthly-activity": "Alarms created monthly activity",
+ "alarms-created-daily-activity": "Created alarms daily activity",
+ "alarms-created-hourly-activity": "Created alarms hourly activity",
+ "alarms-created-monthly-activity": "Created alarms monthly activity",
"data-points": "Data points",
"data-points-storage-days": "Data points storage days",
+ "data-points-storage-days-hourly-activity": "Data points storage days hourly activity",
+ "data-points-storage-days-daily-activity": "Data points storage days daily activity",
+ "data-points-storage-days-monthly-activity": "Data points storage days monthly activity",
"device-api": "Device API",
"email": "Email",
"email-messages": "Email messages",
@@ -899,14 +902,15 @@
"processing-timeouts": "${entityName} Processing Timeouts",
"rule-chain": "Rule Chain",
"rule-engine": "Rule Engine",
- "rule-engine-daily-activity": "Rule Engine daily activity",
"rule-engine-executions": "Rule Engine executions",
"rule-engine-hourly-activity": "Rule Engine hourly activity",
+ "rule-engine-daily-activity": "Rule Engine daily activity",
"rule-engine-monthly-activity": "Rule Engine monthly activity",
"rule-engine-statistics": "Rule Engine Statistics",
"rule-node": "Rule Node",
"sms": "SMS",
"sms-messages": "SMS messages",
+ "sms-messages-hourly-activity": "SMS messages hourly activity",
"sms-messages-daily-activity": "SMS messages daily activity",
"sms-messages-monthly-activity": "SMS messages monthly activity",
"successful": "${entityName} Successful",
@@ -916,13 +920,40 @@
"telemetry-persistence-hourly-activity": "Telemetry persistence hourly activity",
"telemetry-persistence-monthly-activity": "Telemetry persistence monthly activity",
"transport": "Transport",
+ "transport-msg-hourly-activity": "Transport messages hourly activity",
+ "transport-msg-daily-activity": "Transport messages daily activity",
+ "transport-msg-monthly-activity": "Transport messages monthly activity",
"transport-daily-activity": "Transport daily activity",
"transport-data-points": "Transport data points",
- "transport-hourly-activity": "Transport hourly activity",
- "transport-messages": "Transport messages",
- "transport-monthly-activity": "Transport monthly activity",
+ "transport-data-points-hourly-activity": "Transport data points hourly activity",
+ "transport-data-points-daily-activity": "Transport data points daily activity",
+ "transport-data-points-monthly-activity": "Transport data points monthly activity",
"view-details": "View details",
- "view-statistics": "View statistics"
+ "view-statistics": "View statistics",
+ "transport-messages": "Transport messages",
+ "transport-messages-hourly-activity": "Transport messages hourly activity",
+ "transport-data-point-hourly-activity": "Transport data point hourly activity",
+ "javascript-function-executions": "JavaScript function executions",
+ "javascript-function-executions-hourly-activity": "JavaScript function executions hourly activity",
+ "javascript-function-executions-daily-activity": "JavaScript function executions daily activity",
+ "javascript-function-executions-monthly-activity": "JavaScript function executions monthly activity",
+ "tbel-function-executions": "TBEL function executions",
+ "tbel-function-executions-hourly-activity": "TBEL function executions hourly activity",
+ "tbel-function-executions-daily-activity": "TBEL function executions daily activity",
+ "tbel-function-executions-monthly-activity": "TBEL function executions monthly activity",
+ "created-reports": "Created reports",
+ "created-reports-hourly-activity": "Created reports hourly activity",
+ "created-reports-daily-activity": "Created reports daily activity",
+ "created-reports-monthly-activity": "Created reports monthly activity",
+ "emails": "Emails",
+ "emails-hourly-activity": "Emails hourly activity",
+ "emails-daily-activity": "Emails daily activity",
+ "emails-monthly-activity": "Emails monthly activity",
+ "status": {
+ "enabled": "Enabled",
+ "disabled": "Disabled",
+ "warning": "Warning"
+ }
},
"api-limit": {
"cassandra-write-queries-core": "Rest API Cassandra write queries",
@@ -9501,6 +9532,21 @@
"how-to-create-customer-and-assign-dashboard": "How to create Customer and assign Dashboard"
}
}
+ },
+ "api-usage": {
+ "api-usage": "API usage",
+ "label": "Label",
+ "state-name": "State name",
+ "status": "Status",
+ "status-required": "Status is required.",
+ "limit": "Max limit",
+ "limit-required": "Max limit is required.",
+ "current-number": "Current number",
+ "current-number-required": "Current number is required.",
+ "add-key": "Add key",
+ "no-key": "No key",
+ "delete-key": "Delete key",
+ "target-dashboard-state": "Target dashboard state"
}
},
"color": {
@@ -9509,6 +9555,7 @@
"icon": {
"icon": "Icon",
"icons": "Icons",
+ "custom": "Custom",
"select-icon": "Select icon",
"material-icons": "Material icons",
"show-all": "Show all icons",
diff --git a/ui-ngx/src/scss/mixins.scss b/ui-ngx/src/scss/mixins.scss
index 8e60483cb1..fb4a51ebce 100644
--- a/ui-ngx/src/scss/mixins.scss
+++ b/ui-ngx/src/scss/mixins.scss
@@ -26,6 +26,10 @@
width: #{$size}px;
height: #{$size}px;
}
+ img {
+ width: #{$size}px;
+ height: #{$size}px;
+ }
}
@mixin tb-mat-icon-button-size($size) {
diff --git a/ui-ngx/src/styles.scss b/ui-ngx/src/styles.scss
index a8cf53534e..6d49e9f698 100644
--- a/ui-ngx/src/styles.scss
+++ b/ui-ngx/src/styles.scss
@@ -896,7 +896,7 @@ pre.tb-highlight {
}
.mat-icon {
- svg {
+ svg, img {
vertical-align: inherit;
}
&.tb-mat-12 {