diff --git a/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.html b/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.html
index 2a4c59a7a2..8b225af53b 100644
--- a/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.html
+++ b/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.html
@@ -169,15 +169,15 @@
- tenant-profile.max-transport-data-points
+ tenant-profile.max-tbel-executions
-
- {{ 'tenant-profile.max-transport-data-points-required' | translate}}
+
+ {{ 'tenant-profile.max-tbel-executions-required' | translate}}
-
- {{ 'tenant-profile.max-transport-data-points-range' | translate}}
+
+ {{ 'tenant-profile.max-tbel-executions-range' | translate}}
@@ -196,7 +196,19 @@
-
+
+ tenant-profile.max-transport-data-points
+
+
+ {{ 'tenant-profile.max-transport-data-points-required' | translate}}
+
+
+ {{ 'tenant-profile.max-transport-data-points-range' | translate}}
+
+
+
diff --git a/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.ts b/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.ts
index 19eb13540b..5b48e02e07 100644
--- a/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.ts
+++ b/ui-ngx/src/app/modules/home/components/profile/tenant/default-tenant-profile-configuration.component.ts
@@ -81,6 +81,7 @@ export class DefaultTenantProfileConfigurationComponent implements ControlValueA
maxTransportDataPoints: [null, [Validators.required, Validators.min(0)]],
maxREExecutions: [null, [Validators.required, Validators.min(0)]],
maxJSExecutions: [null, [Validators.required, Validators.min(0)]],
+ maxTbelExecutions: [null, [Validators.required, Validators.min(0)]],
maxDPStorageDays: [null, [Validators.required, Validators.min(0)]],
maxRuleNodeExecutionsPerMessage: [null, [Validators.required, Validators.min(0)]],
maxEmails: [null, [Validators.required, Validators.min(0)]],
diff --git a/ui-ngx/src/app/shared/models/api-usage.models.ts b/ui-ngx/src/app/shared/models/api-usage.models.ts
index bbc0ff5597..e6b1d86207 100644
--- a/ui-ngx/src/app/shared/models/api-usage.models.ts
+++ b/ui-ngx/src/app/shared/models/api-usage.models.ts
@@ -31,6 +31,7 @@ export enum ApiFeature {
DB = 'DB',
RE = 'RE',
JS = 'JS',
+ TBEL = 'TBEL',
EMAIL = 'EMAIL',
SMS = 'SMS',
ALARM = 'ALARM'
@@ -41,6 +42,7 @@ export const ApiFeatureTranslationMap = new Map([
[ApiFeature.DB, 'api-usage.telemetry-persistence'],
[ApiFeature.RE, 'api-usage.rule-engine-executions'],
[ApiFeature.JS, 'api-usage.javascript-executions'],
+ [ApiFeature.TBEL, 'api-usage.tbel-executions'],
[ApiFeature.EMAIL, 'api-usage.email-messages'],
[ApiFeature.SMS, 'api-usage.sms-messages'],
[ApiFeature.ALARM, 'api-usage.alarm'],
diff --git a/ui-ngx/src/app/shared/models/tenant.model.ts b/ui-ngx/src/app/shared/models/tenant.model.ts
index d781dad439..73b3d9de02 100644
--- a/ui-ngx/src/app/shared/models/tenant.model.ts
+++ b/ui-ngx/src/app/shared/models/tenant.model.ts
@@ -50,6 +50,7 @@ export interface DefaultTenantProfileConfiguration {
maxTransportDataPoints: number;
maxREExecutions: number;
maxJSExecutions: number;
+ maxTbelExecutions: number;
maxDPStorageDays: number;
maxRuleNodeExecutionsPerMessage: number;
maxEmails: number;
@@ -104,6 +105,7 @@ export function createTenantProfileConfiguration(type: TenantProfileType): Tenan
maxTransportDataPoints: 0,
maxREExecutions: 0,
maxJSExecutions: 0,
+ maxTbelExecutions: 0,
maxDPStorageDays: 0,
maxRuleNodeExecutionsPerMessage: 0,
maxEmails: 0,
diff --git a/ui-ngx/src/assets/dashboard/api_usage.json b/ui-ngx/src/assets/dashboard/api_usage.json
index 5733b011f9..3c9259f453 100644
--- a/ui-ngx/src/assets/dashboard/api_usage.json
+++ b/ui-ngx/src/assets/dashboard/api_usage.json
@@ -21,7 +21,7 @@
{
"name": "jsExecutionApiState",
"type": "timeseries",
- "label": "apiState",
+ "label": "jsApiState",
"color": "#2196f3",
"settings": {},
"_hash": 0.8830669138660703,
@@ -29,12 +29,13 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "return value ? value : 'ENABLED';"
+ "postFuncBody": "return value ? value : 'ENABLED';",
+ "aggregationType": "NONE"
},
{
"name": "jsExecutionLimit",
"type": "timeseries",
- "label": "limit",
+ "label": "jsLimit",
"color": "#4caf50",
"settings": {},
"_hash": 0.5463603803546802,
@@ -42,12 +43,13 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
+ "postFuncBody": null,
+ "aggregationType": "NONE"
},
{
"name": "jsExecutionCount",
"type": "timeseries",
- "label": "count",
+ "label": "jsCount",
"color": "#f44336",
"settings": {},
"_hash": 0.5564241862015964,
@@ -55,20 +57,8 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": null,
- "postFuncBody": null
- },
- {
- "name": "jsExecutionApiState",
- "type": "timeseries",
- "label": "apiStateClass",
- "color": "#ffc107",
- "settings": {},
- "_hash": 0.8737107059960671,
- "units": null,
- "decimals": null,
- "funcBody": null,
- "usePostProcessing": true,
- "postFuncBody": "return value ? value.toLowerCase() : 'enabled';"
+ "postFuncBody": null,
+ "aggregationType": "NONE"
},
{
"name": "jsExecutionApiState",
@@ -94,12 +84,13 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.javascript}\";"
+ "postFuncBody": "return \"{i18n:api-usage.udf-executions}\";",
+ "aggregationType": "NONE"
},
{
"name": "jsExecutionApiState",
"type": "timeseries",
- "label": "unit",
+ "label": "jsUnit",
"color": "#8bc34a",
"settings": {},
"_hash": 0.7926918686567068,
@@ -107,7 +98,64 @@
"decimals": null,
"funcBody": null,
"usePostProcessing": true,
- "postFuncBody": "return \"{i18n:api-usage.executions}\";"
+ "postFuncBody": "return \"{i18n:api-usage.javascript}\";",
+ "aggregationType": "NONE"
+ },
+ {
+ "name": "tbelExecutionApiState",
+ "type": "timeseries",
+ "label": "tbelApiState",
+ "color": "#3f51b5",
+ "settings": {},
+ "_hash": 0.950264191483049,
+ "aggregationType": "NONE",
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": true,
+ "postFuncBody": "return value ? value : 'ENABLED';"
+ },
+ {
+ "name": "tbelExecutionLimit",
+ "type": "timeseries",
+ "label": "tbelLimit",
+ "color": "#e91e63",
+ "settings": {},
+ "_hash": 0.9618078963734347,
+ "aggregationType": "NONE",
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ },
+ {
+ "name": "tbelExecutionCount",
+ "type": "timeseries",
+ "label": "tbelCount",
+ "color": "#ffeb3b",
+ "settings": {},
+ "_hash": 0.26695276374882493,
+ "aggregationType": "NONE",
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
+ },
+ {
+ "name": "tbelExecutionApiState",
+ "type": "timeseries",
+ "label": "tbelUnit",
+ "color": "#03a9f4",
+ "settings": {},
+ "_hash": 0.41720010909473104,
+ "aggregationType": "NONE",
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": true,
+ "postFuncBody": "return \"{i18n:api-usage.tbel}\";"
}
]
}
@@ -141,8 +189,8 @@
"color": "#666666",
"padding": "0",
"settings": {
- "cardHtml": "\n

\n \n
\n
\n
\n
${title}
\n
${apiState}
\n
\n
\n
\n
\n
\n
\n \n
\n
",
- "cardCss": ".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: 13px 13px 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.card .action-row {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n padding: 8px 0;\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} \n\n\n"
+ "cardHtml": "\n

\n \n
\n
\n
\n \n
\n
",
+ "cardCss": ".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: 13px 13px 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 .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.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.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.card .action-row {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n padding: 8px 0;\n}\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: 6px;\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: 8px;\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} \n\n"
},
"title": "JavaScript functions",
"dropShadow": true,
@@ -159,13 +207,17 @@
"actions": {
"elementClick": [
{
- "name": "javascript_functions_details",
+ "name": "user_defined_functions_details",
"icon": "insert_chart",
+ "useShowWidgetActionFunction": null,
+ "showWidgetActionFunction": "return true;",
"type": "openDashboardState",
- "targetDashboardStateId": "javascript_functions",
+ "targetDashboardStateId": "user_defined_functions",
"setEntityId": false,
"stateEntityParamName": null,
"openRightLayout": false,
+ "openInSeparateDialog": false,
+ "openInPopover": false,
"id": "d4961bea-84de-e1af-e50f-666b98d34cd5"
}
]
@@ -1284,6 +1336,20 @@
"funcBody": null,
"usePostProcessing": null,
"postFuncBody": null
+ },
+ {
+ "name": "tbelExecutionCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.tbel-executions}",
+ "color": "#4CAF50",
+ "settings": {},
+ "_hash": 0.9298950525272727,
+ "aggregationType": null,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null
}
]
}
@@ -1348,7 +1414,7 @@
"showTotal": true
}
},
- "title": "{i18n:api-usage.javascript-functions-hourly-activity}",
+ "title": "{i18n:api-usage.user-defined-functions-hourly-activity}",
"dropShadow": true,
"enableFullscreen": true,
"titleStyle": {
@@ -1362,11 +1428,15 @@
{
"name": "{i18n:api-usage.view-details}",
"icon": "insert_chart",
+ "useShowWidgetActionFunction": null,
+ "showWidgetActionFunction": "return true;",
"type": "openDashboardState",
- "targetDashboardStateId": "javascript_functions",
+ "targetDashboardStateId": "user_defined_functions",
"setEntityId": false,
"stateEntityParamName": null,
"openRightLayout": false,
+ "openInSeparateDialog": false,
+ "openInPopover": false,
"id": "4687d3f6-8800-a3b6-26e5-0d33f3b828a9"
}
]
@@ -4395,6 +4465,288 @@
"col": 0,
"id": "aa875b7f-e7c8-7529-1ae7-f456211b59cc",
"typeFullFqn": "system.charts.timeseries_bars_flot"
+ },
+ "16d469c0-b3f5-d8a6-c62c-5c245c2cc865": {
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "tbelExecutionCountHourly",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.tbel-executions}",
+ "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
+ }
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideInterval": false,
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 2592000000,
+ "interval": 86400000
+ },
+ "aggregation": {
+ "type": "SUM",
+ "limit": 1000
+ }
+ },
+ "showTitle": true,
+ "backgroundColor": "#fff",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "8px",
+ "settings": {
+ "shadowSize": 4,
+ "fontColor": "#545454",
+ "fontSize": 10,
+ "xaxis": {
+ "showLabels": true,
+ "color": "#545454"
+ },
+ "yaxis": {
+ "showLabels": true,
+ "color": "#545454",
+ "min": 0,
+ "tickDecimals": 0,
+ "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;"
+ },
+ "grid": {
+ "color": "#545454",
+ "tickColor": "#DDDDDD",
+ "verticalLines": true,
+ "horizontalLines": true,
+ "outlineWidth": 1
+ },
+ "stack": false,
+ "tooltipIndividual": false,
+ "defaultBarWidth": 1800000,
+ "barAlignment": "left",
+ "timeForComparison": "months",
+ "xaxisSecond": {
+ "axisPosition": "top",
+ "showLabels": true
+ },
+ "showLegend": true,
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true
+ }
+ },
+ "title": "{i18n:api-usage.tbel-functions-daily-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": {
+ "fontSize": "16px",
+ "fontWeight": 400
+ },
+ "widgetStyle": {},
+ "useDashboardTimewindow": false,
+ "actions": {},
+ "displayTimewindow": true,
+ "showTitleIcon": false,
+ "iconColor": "rgba(0, 0, 0, 0.87)",
+ "iconSize": "24px",
+ "titleTooltip": "",
+ "widgetCss": "",
+ "pageSize": 1024,
+ "noDataDisplayMessage": ""
+ },
+ "row": 0,
+ "col": 0,
+ "id": "16d469c0-b3f5-d8a6-c62c-5c245c2cc865",
+ "typeFullFqn": "system.charts.timeseries_bars_flot"
+ },
+ "70978475-c9d4-a54d-384a-851b4bba3917": {
+ "type": "timeseries",
+ "sizeX": 8,
+ "sizeY": 5,
+ "config": {
+ "datasources": [
+ {
+ "type": "entity",
+ "name": null,
+ "entityAliasId": "40193437-33ac-3172-eefd-0b08eb849062",
+ "filterId": null,
+ "dataKeys": [
+ {
+ "name": "tbelExecutionCount",
+ "type": "timeseries",
+ "label": "{i18n:api-usage.tbel-executions}",
+ "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
+ }
+ },
+ "_hash": 0.0661644137210089,
+ "units": null,
+ "decimals": null,
+ "funcBody": null,
+ "usePostProcessing": null,
+ "postFuncBody": null,
+ "aggregationType": null
+ }
+ ],
+ "alarmFilterConfig": {
+ "statusList": [
+ "ACTIVE"
+ ]
+ }
+ }
+ ],
+ "timewindow": {
+ "hideInterval": false,
+ "hideAggregation": false,
+ "hideAggInterval": false,
+ "selectedTab": 1,
+ "history": {
+ "historyType": 0,
+ "timewindowMs": 31536000000,
+ "interval": 1000
+ },
+ "aggregation": {
+ "type": "NONE",
+ "limit": 1000
+ }
+ },
+ "showTitle": true,
+ "backgroundColor": "#fff",
+ "color": "rgba(0, 0, 0, 0.87)",
+ "padding": "8px",
+ "settings": {
+ "shadowSize": 4,
+ "fontColor": "#545454",
+ "fontSize": 10,
+ "xaxis": {
+ "showLabels": true,
+ "color": "#545454"
+ },
+ "yaxis": {
+ "showLabels": true,
+ "color": "#545454",
+ "min": 0,
+ "tickDecimals": 0,
+ "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;"
+ },
+ "grid": {
+ "color": "#545454",
+ "tickColor": "#DDDDDD",
+ "verticalLines": true,
+ "horizontalLines": true,
+ "outlineWidth": 1
+ },
+ "stack": false,
+ "tooltipIndividual": false,
+ "defaultBarWidth": 900000000,
+ "barAlignment": "left",
+ "timeForComparison": "months",
+ "xaxisSecond": {
+ "axisPosition": "top",
+ "showLabels": true
+ },
+ "showLegend": true,
+ "legendConfig": {
+ "direction": "column",
+ "position": "bottom",
+ "sortDataKeys": false,
+ "showMin": false,
+ "showMax": false,
+ "showAvg": false,
+ "showTotal": true
+ }
+ },
+ "title": "{i18n:api-usage.tbel-functions-monthly-activity}",
+ "dropShadow": true,
+ "enableFullscreen": true,
+ "titleStyle": {
+ "fontSize": "16px",
+ "fontWeight": 400
+ },
+ "widgetStyle": {},
+ "useDashboardTimewindow": false,
+ "actions": {},
+ "displayTimewindow": true,
+ "showTitleIcon": false,
+ "iconColor": "rgba(0, 0, 0, 0.87)",
+ "iconSize": "24px",
+ "titleTooltip": "",
+ "widgetCss": "",
+ "pageSize": 1024,
+ "noDataDisplayMessage": ""
+ },
+ "row": 0,
+ "col": 0,
+ "id": "70978475-c9d4-a54d-384a-851b4bba3917",
+ "typeFullFqn": "system.charts.timeseries_bars_flot"
}
},
"states": {
@@ -4566,40 +4918,6 @@
}
}
},
- "javascript_functions": {
- "name": "{i18n:api-usage.javascript-functions}",
- "root": false,
- "layouts": {
- "main": {
- "widgets": {
- "5f5ca59c-e507-5301-5910-7ad8cd34df40": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 0,
- "col": 0
- },
- "ada32ee9-44ed-48d1-c368-fd0c94b7607f": {
- "sizeX": 24,
- "sizeY": 6,
- "row": 6,
- "col": 0
- }
- },
- "gridSettings": {
- "backgroundColor": "#eeeeee",
- "color": "rgba(0,0,0,0.870588)",
- "columns": 24,
- "margin": 10,
- "backgroundSizeMode": "100%",
- "autoFillHeight": true,
- "backgroundImageUrl": null,
- "mobileAutoFillHeight": false,
- "mobileRowHeight": 70,
- "outerMargin": true
- }
- }
- }
- },
"telemetry_persistence": {
"name": "{i18n:api-usage.telemetry-persistence}",
"root": false,
@@ -4755,6 +5073,52 @@
}
}
}
+ },
+ "user_defined_functions": {
+ "name": "{i18n:api-usage.user-defined-functions}",
+ "root": false,
+ "layouts": {
+ "main": {
+ "widgets": {
+ "5f5ca59c-e507-5301-5910-7ad8cd34df40": {
+ "sizeX": 12,
+ "sizeY": 6,
+ "row": 0,
+ "col": 0
+ },
+ "ada32ee9-44ed-48d1-c368-fd0c94b7607f": {
+ "sizeX": 12,
+ "sizeY": 6,
+ "row": 6,
+ "col": 0
+ },
+ "16d469c0-b3f5-d8a6-c62c-5c245c2cc865": {
+ "sizeX": 12,
+ "sizeY": 6,
+ "row": 0,
+ "col": 12
+ },
+ "70978475-c9d4-a54d-384a-851b4bba3917": {
+ "sizeX": 12,
+ "sizeY": 6,
+ "row": 6,
+ "col": 12
+ }
+ },
+ "gridSettings": {
+ "backgroundColor": "#eeeeee",
+ "color": "rgba(0,0,0,0.870588)",
+ "columns": 24,
+ "margin": 10,
+ "backgroundSizeMode": "100%",
+ "autoFillHeight": true,
+ "backgroundImageUrl": null,
+ "mobileAutoFillHeight": false,
+ "mobileRowHeight": 70,
+ "outerMargin": true
+ }
+ }
+ }
}
},
"entityAliases": {
@@ -4809,4 +5173,4 @@
},
"externalId": null,
"name": "Api Usage"
-}
\ No newline at end of file
+}
diff --git a/ui-ngx/src/assets/locale/locale.constant-ca_ES.json b/ui-ngx/src/assets/locale/locale.constant-ca_ES.json
index c1cfaf6244..12b3412b8e 100644
--- a/ui-ngx/src/assets/locale/locale.constant-ca_ES.json
+++ b/ui-ngx/src/assets/locale/locale.constant-ca_ES.json
@@ -677,9 +677,7 @@
"executions": "Execucions",
"javascript": "JavaScript",
"javascript-executions": "Execucions JavaScript",
- "javascript-functions": "Funcions JavaScript",
"javascript-functions-daily-activity": "Activitat diària de funcions JavaScript",
- "javascript-functions-hourly-activity": "Activitat horària de funcions JavaScript",
"javascript-functions-monthly-activity": "Activitat mensual de funcions JavaScript",
"latest-error": "Últim error",
"messages": "Missatges",
diff --git a/ui-ngx/src/assets/locale/locale.constant-cs_CZ.json b/ui-ngx/src/assets/locale/locale.constant-cs_CZ.json
index 857696322b..87c5527c7b 100644
--- a/ui-ngx/src/assets/locale/locale.constant-cs_CZ.json
+++ b/ui-ngx/src/assets/locale/locale.constant-cs_CZ.json
@@ -488,9 +488,7 @@
"executions": "Zpracování",
"javascript": "JavaScript",
"javascript-executions": "JavaScript výjimky",
- "javascript-functions": "JavaScript funkce",
"javascript-functions-daily-activity": "Denní aktivita JavaScript funkcí",
- "javascript-functions-hourly-activity": "Hodinová aktivita JavaScript funkcí",
"javascript-functions-monthly-activity": "Měsíční aktivita JavaScript funkcí",
"latest-error": "Poslední chyba",
"messages": "Zprávy",
diff --git a/ui-ngx/src/assets/locale/locale.constant-da_DK.json b/ui-ngx/src/assets/locale/locale.constant-da_DK.json
index a6a5670dba..c2dc6c87f7 100644
--- a/ui-ngx/src/assets/locale/locale.constant-da_DK.json
+++ b/ui-ngx/src/assets/locale/locale.constant-da_DK.json
@@ -493,9 +493,7 @@
"executions": "Udførelser",
"javascript": "JavaScript",
"javascript-executions": "JavaScript-udførelser",
- "javascript-functions": "JavaScript-funktioner",
"javascript-functions-daily-activity": "JavaScript-funktioners daglige aktivitet",
- "javascript-functions-hourly-activity": "JavaScript-funktioners timeaktivitet",
"javascript-functions-monthly-activity": "JavaScript-funktioners månedlige aktivitet",
"latest-error": "Seneste fejl",
"messages": "Beskeder",
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 2a6766bcd3..9c28f42cd8 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -770,12 +770,17 @@
"email-messages-monthly-activity": "Email messages monthly activity",
"exceptions": "Exceptions",
"executions": "Executions",
+ "udf-executions": "UDF executions",
+ "user-defined-functions": "User-defined functions",
+ "user-defined-functions-hourly-activity": "User-defined functions hourly activity",
"javascript": "JavaScript",
"javascript-executions": "JavaScript executions",
- "javascript-functions": "JavaScript functions",
"javascript-functions-daily-activity": "JavaScript functions daily activity",
- "javascript-functions-hourly-activity": "JavaScript functions hourly activity",
"javascript-functions-monthly-activity": "JavaScript functions monthly activity",
+ "tbel": "TBEL",
+ "tbel-executions": "TBEL executions",
+ "tbel-functions-daily-activity": "TBEL functions daily activity",
+ "tbel-functions-monthly-activity": "TBEL functions monthly activity",
"latest-error": "Latest Error",
"messages": "Messages",
"notifications": "Notifications",
@@ -3995,6 +4000,9 @@
"max-j-s-executions": "JavaScript executions maximum number ",
"max-j-s-executions-required": "JavaScript executions maximum number is required.",
"max-j-s-executions-range": "JavaScript executions maximum number can't be negative",
+ "max-tbel-executions": "TBEL executions maximum number ",
+ "max-tbel-executions-required": "TBEL executions maximum number is required.",
+ "max-tbel-executions-range": "TBEL executions maximum number can't be negative",
"max-d-p-storage-days": "Data points storage days maximum number",
"max-d-p-storage-days-required": "Data points storage days maximum number is required.",
"max-d-p-storage-days-range": "Data points storage days maximum number can't be negative",
diff --git a/ui-ngx/src/assets/locale/locale.constant-es_ES.json b/ui-ngx/src/assets/locale/locale.constant-es_ES.json
index 53096ebf2a..679c60a220 100644
--- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json
+++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json
@@ -772,9 +772,7 @@
"executions": "Ejecuciones",
"javascript": "JavaScript",
"javascript-executions": "Ejecuciones JavaScript",
- "javascript-functions": "Funciones JavaScript",
"javascript-functions-daily-activity": "Actividad diaria de funciones JavaScript",
- "javascript-functions-hourly-activity": "Actividad horaria de funciones JavaScript",
"javascript-functions-monthly-activity": "Actividad mensual de funciones JavaScript",
"latest-error": "Último error",
"messages": "Mensajes",
diff --git a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
index 39d6646854..acf547354e 100644
--- a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
@@ -488,9 +488,7 @@
"email-messages-monthly-activity": "Activité menuselle de courriels",
"executions": "Exécutions",
"javascript-executions": "Exécutions JavaScript",
- "javascript-functions": "Fonctions JavaScript",
"javascript-functions-daily-activity": "Activité hebdomadaire de fonctions JavaScript",
- "javascript-functions-hourly-activity": "Activité horaire de fonctions JavaScript",
"javascript-functions-monthly-activity": "Activité mensuelle de fonctions JavaScript",
"latest-error": "Dernière erreur",
"notifications-email-sms": "Notifications (Coourriel/SMS)",
diff --git a/ui-ngx/src/assets/locale/locale.constant-ko_KR.json b/ui-ngx/src/assets/locale/locale.constant-ko_KR.json
index 8a4d7364d2..142ef1491d 100644
--- a/ui-ngx/src/assets/locale/locale.constant-ko_KR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-ko_KR.json
@@ -447,9 +447,7 @@
"executions": "Executions",
"javascript": "JavaScript",
"javascript-executions": "JavaScript executions",
- "javascript-functions": "JavaScript functions",
"javascript-functions-daily-activity": "JavaScript functions daily activity",
- "javascript-functions-hourly-activity": "JavaScript functions hourly activity",
"javascript-functions-monthly-activity": "JavaScript functions monthly activity",
"latest-error": "최근 오류",
"messages": "메시지",
diff --git a/ui-ngx/src/assets/locale/locale.constant-sl_SI.json b/ui-ngx/src/assets/locale/locale.constant-sl_SI.json
index ef15d523d9..2c9173b78d 100644
--- a/ui-ngx/src/assets/locale/locale.constant-sl_SI.json
+++ b/ui-ngx/src/assets/locale/locale.constant-sl_SI.json
@@ -447,9 +447,7 @@
"executions": "Executions",
"javascript": "JavaScript",
"javascript-executions": "JavaScript executions",
- "javascript-functions": "JavaScript functions",
"javascript-functions-daily-activity": "JavaScript functions daily activity",
- "javascript-functions-hourly-activity": "JavaScript functions hourly activity",
"javascript-functions-monthly-activity": "JavaScript functions monthly activity",
"latest-error": "Latest Error",
"messages": "Messages",
diff --git a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json
index 84cb3070d1..5f05774d94 100644
--- a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json
@@ -488,9 +488,7 @@
"executions": "Çalıştırmalar",
"javascript": "JavaScript",
"javascript-executions": "JavaScript çalıştırmaları",
- "javascript-functions": "JavaScript fonksiyonları",
"javascript-functions-daily-activity": "Günlük JavaScript fonksiyonları",
- "javascript-functions-hourly-activity": "Saatlik JavaScript fonksiyonları",
"javascript-functions-monthly-activity": "Aylık JavaScript fonksiyonları",
"latest-error": "Son Hata",
"messages": "Mesajlar",
diff --git a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json
index af22d0758e..4003705a48 100644
--- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json
+++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json
@@ -715,9 +715,7 @@
"executions": "执行数",
"javascript": "JavaScript",
"javascript-executions": "JavaScript 执行数",
- "javascript-functions": "JavaScript 函数",
"javascript-functions-daily-activity": "每天执行的JavaScript函数",
- "javascript-functions-hourly-activity": "每小时执行的JavaScript函数",
"javascript-functions-monthly-activity": "每月执行的JavaScript函数",
"latest-error": "最新错误",
"messages": "消息",
diff --git a/ui-ngx/src/assets/locale/locale.constant-zh_TW.json b/ui-ngx/src/assets/locale/locale.constant-zh_TW.json
index c965549fab..f3d3d13660 100644
--- a/ui-ngx/src/assets/locale/locale.constant-zh_TW.json
+++ b/ui-ngx/src/assets/locale/locale.constant-zh_TW.json
@@ -563,9 +563,7 @@
"executions": "執行",
"javascript": "JavaScript",
"javascript-executions": "JavaScript執行",
- "javascript-functions": "JavaScript功能",
"javascript-functions-daily-activity": "JavaScript功能每日活動",
- "javascript-functions-hourly-activity": "JavaScript功能每小時活動",
"javascript-functions-monthly-activity": "JavaScript功能每月活動",
"latest-error": "最新錯誤",
"messages": "訊息",