diff --git a/BMW-Dynatrace-config/CD_comfy/dashboard/CDcomfyFeatureResolverKPIs.json b/BMW-Dynatrace-config/CD_comfy/dashboard/CDcomfyFeatureResolverKPIs.json new file mode 100644 index 00000000..a0e55a6e --- /dev/null +++ b/BMW-Dynatrace-config/CD_comfy/dashboard/CDcomfyFeatureResolverKPIs.json @@ -0,0 +1,491 @@ +{ + "metadata": { + "configurationVersions": [ + 6 + ], + "clusterVersion": "1.252.155.20221012-164912" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Andreas.Maly@bmw.de", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "popularity": 1, + "hasConsistentColors": false, + "tags": [ + "{{.tag}}", + "{{.env}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "CASA Portfolio Request Distribution", + "nameSize": "", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 304, + "left": 0, + "width": 1026, + "height": 342 + }, + "tileFilter": {}, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "timeAggregation": "DEFAULT", + "splitBy": [], + "metricSelector": "builtin:service.keyRequest.count.total:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)", + "enabled": true + }, + { + "id": "B", + "timeAggregation": "DEFAULT", + "splitBy": [], + "metricSelector": "builtin:service.keyRequest.errors.server.count:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)", + "enabled": true + }, + { + "id": "C", + "timeAggregation": "DEFAULT", + "splitBy": [], + "metricSelector": "builtin:service.keyRequest.response.time:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):avg:auto:sort(value(avg,descending)):limit(10)", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": { + "hideLegend": false + }, + "rules": [ + { + "matcher": "A:", + "unitTransform": "auto", + "valueFormat": "auto", + "properties": { + "color": "DEFAULT", + "seriesType": "STACKED_COLUMN" + }, + "seriesOverrides": [ + { + "name": "Request count", + "color": "#008cdb" + } + ] + }, + { + "matcher": "B:", + "unitTransform": "auto", + "valueFormat": "auto", + "properties": { + "color": "DEFAULT", + "seriesType": "AREA" + }, + "seriesOverrides": [ + { + "name": "Number of server side errors", + "color": "#dc172a" + } + ] + }, + { + "matcher": "C:", + "unitTransform": "auto", + "valueFormat": "auto", + "properties": { + "color": "DEFAULT", + "seriesType": "LINE" + }, + "seriesOverrides": [ + { + "name": "Key request response time", + "color": "#74dee6" + } + ] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A", + "B" + ], + "defaultAxis": true + }, + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "RIGHT", + "queryIds": [ + "C" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "queryId": "", + "visible": true + } + ], + "tableSettings": { + "isThresholdBackgroundAppliedToCell": false + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(builtin:service.keyRequest.count.total:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)):limit(100):names,(builtin:service.keyRequest.errors.server.count:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)):limit(100):names,(builtin:service.keyRequest.response.time:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):avg:auto:sort(value(avg,descending)):limit(10)):limit(100):names" + ] + }, + { + "name": "CASA Portfolio Requests", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 684, + "width": 342, + "height": 304 + }, + "tileFilter": {}, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "timeAggregation": "DEFAULT", + "splitBy": [], + "metricSelector": "builtin:service.keyRequest.count.total:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": { + "hideLegend": false + }, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": false, + "showSparkLine": false, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "queryId": "", + "visible": true + } + ], + "tableSettings": { + "isThresholdBackgroundAppliedToCell": false + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "", + "foldTransformation": "TOTAL", + "foldAggregation": "VALUE" + }, + "metricExpressions": [ + "resolution=null&(builtin:service.keyRequest.count.total:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityName.equals(~\"PortfolioRequestBA.onPortfolioUpdateRequest~\")\")))):parents:filter(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:{{.env}}~\")\")))):merge(\"dt.entity.service\",\"dt.entity.service_method\"):sum:auto:sort(value(sum,descending)):limit(10)):limit(100):names:fold(value)" + ] + }, + { + "name": "FoD Feature Activations", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 342, + "width": 342, + "height": 304 + }, + "tileFilter": {}, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "comfy.featureresolver.features.activated.count", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "filterBy": { + "filterOperator": "AND", + "nestedFilters": [ + { + "filter": "env", + "filterType": "DIMENSION", + "filterOperator": "OR", + "nestedFilters": [], + "criteria": [ + { + "value": "{{.env}}", + "evaluator": "EQ" + } + ] + } + ], + "criteria": [] + }, + "limit": 100, + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": { + "hideLegend": false + }, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": false, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "queryId": "", + "visible": true + } + ], + "tableSettings": { + "isThresholdBackgroundAppliedToCell": false + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "", + "foldTransformation": "TOTAL", + "foldAggregation": "VALUE" + }, + "metricExpressions": [ + "resolution=null&(comfy.featureresolver.features.activated.count:filter(and(or(eq(env,{{.env}})))):splitBy():sort(value(auto,descending)):limit(100)):limit(100):names:fold(value)", + "resolution=null&(comfy.featureresolver.features.activated.count:filter(and(or(eq(env,{{.env}})))):splitBy():sort(value(auto,descending)):limit(100))" + ] + }, + { + "name": "FoD Usecases", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 0, + "width": 342, + "height": 304 + }, + "tileFilter": {}, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "comfy.featureresolver.fod.usecases.count", + "spaceAggregation": "VALUE", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "filterBy": { + "filterOperator": "AND", + "nestedFilters": [ + { + "filter": "env", + "filterType": "DIMENSION", + "filterOperator": "OR", + "nestedFilters": [], + "criteria": [ + { + "value": "{{.env}}", + "evaluator": "EQ" + } + ] + } + ], + "criteria": [] + }, + "limit": 100, + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": { + "hideLegend": false + }, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": false, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "queryId": "", + "visible": true + } + ], + "tableSettings": { + "isThresholdBackgroundAppliedToCell": false + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "", + "foldTransformation": "TOTAL", + "foldAggregation": "VALUE" + }, + "metricExpressions": [ + "resolution=null&(comfy.featureresolver.fod.usecases.count:filter(and(or(eq(env,{{.env}})))):splitBy():value:auto:sort(value(sum,descending)):limit(100)):limit(100):names:fold(value)", + "resolution=null&(comfy.featureresolver.fod.usecases.count:filter(and(or(eq(env,{{.env}})))):splitBy():value:auto:sort(value(sum,descending)):limit(100))" + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_comfy/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_comfy/dashboard/dashboard.yaml index 3e1240a3..5b39a707 100644 --- a/BMW-Dynatrace-config/CD_comfy/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_comfy/dashboard/dashboard.yaml @@ -45,6 +45,15 @@ config: - CDcomfyServiceOverview-US-PROD: CDcomfyServiceOverview.json - CDcomfyServiceOverview-CN-E2E: CDcomfyServiceOverview.json - CDcomfyServiceOverview-CN-PROD: CDcomfyServiceOverview.json +# Comfy Feature Resolver KPIs +- CDcomfyFeatureResolverKPIs-EMEA-TEST: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-EMEA-INT: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-EMEA-E2E: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-EMEA-PROD: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-US-E2E: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-US-PROD: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-CN-E2E: CDcomfyFeatureResolverKPIs.json +- CDcomfyFeatureResolverKPIs-CN-PROD: CDcomfyFeatureResolverKPIs.json #PROD dashboards for EMEA/NA/CN Prod CDcomfy-PROD: @@ -1640,4 +1649,85 @@ CDcomfyServiceOverview-CN-PROD.CN-Prod: - tag: comfy - env: PROD - envLower: prod + - skipDeployment: "false" +#Comfy Feature Resolver KPIs +CDcomfyFeatureResolverKPIs-EMEA-TEST: + - name: Comfy Feature Resolver KPIs EMEA TEST + - tag: comfy + - env: TEST + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-EMEA-INT: + - name: Comfy Feature Resolver KPIs EMEA INT + - tag: comfy + - env: INT + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-EMEA-E2E: + - name: Comfy Feature Resolver KPIs EMEA E2E + - tag: comfy + - env: E2E + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-EMEA-PROD: + - name: Comfy Feature Resolver KPIs EMEA PROD + - tag: comfy + - env: PROD + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-US-E2E: + - name: Comfy Feature Resolver KPIs US E2E + - tag: comfy + - env: E2E + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-US-PROD: + - name: Comfy Feature Resolver KPIs US PROD + - tag: comfy + - env: PROD + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-CN-E2E: + - name: Comfy Feature Resolver KPIs CN E2E + - tag: comfy + - env: E2E + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-CN-PROD: + - name: Comfy Feature Resolver KPIs CN PROD + - tag: comfy + - env: PROD + - skipDeployment: "true" +CDcomfyFeatureResolverKPIs-EMEA-TEST.EMEA-PreProd: + - name: Comfy Feature Resolver KPIs EMEA TEST + - tag: comfy + - env: TEST + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-EMEA-INT.EMEA-PreProd: + - name: Comfy Feature Resolver KPIs EMEA INT + - tag: comfy + - env: INT + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-EMEA-E2E.EMEA-Prod: + - name: Comfy Feature Resolver KPIs EMEA E2E + - tag: comfy + - env: E2E + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-EMEA-PROD.EMEA-Prod: + - name: Comfy Feature Resolver KPIs EMEA PROD + - tag: comfy + - env: PROD + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-US-E2E.NA-Prod: + - name: Comfy Feature Resolver KPIs US E2E + - tag: comfy + - env: E2E + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-US-PROD.NA-Prod: + - name: Comfy Feature Resolver KPIs US PROD + - tag: comfy + - env: PROD + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-CN-E2E.CN-Prod: + - name: Comfy Feature Resolver KPIs CN E2E + - tag: comfy + - env: E2E + - skipDeployment: "false" +CDcomfyFeatureResolverKPIs-CN-PROD.CN-Prod: + - name: Comfy Feature Resolver KPIs CN PROD + - tag: comfy + - env: PROD - skipDeployment: "false" \ No newline at end of file