[feature] COMFY-746: Add VPS Business monitoring dashboards and required request attributes + calculated service metrics

feature/COMFY-746-vps-business-monitoring
Markus Dlugi 2022-11-23 17:46:43 +01:00
parent 0eeeedda04
commit 8bcf48ba16
10 changed files with 10987 additions and 1 deletions

View File

@ -0,0 +1,115 @@
config:
- VpsProvisioningCause: metric-request-count.json
- VpsProvisioningStatus: metric-request-count.json
- VpsProvisioningStatus_Backend: metric-request-count-2.json
- VpsProvisioningStatus_Workshop: metric-request-count-2.json
- VpsProvisioningStatus_UserUpdate: metric-request-count-2.json
- VpsProvisioningStatus_Diagnosis: metric-request-count-2.json
- VpsProvisioningStatus_ECU: metric-request-count-3-any-of.json
- VpsEcu: metric-request-count-3.json
VpsProvisioningCause:
- name: VpsProvisioningCause
- metricKey: calc:service.vpsprovisioningcause
- unit: COUNT
- requestAttribute: VpsProvisioningCause
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningCause}"
- dimensionName: VpsProvisioningCause
- topX: 10
VpsProvisioningStatus:
- name: VpsProvisioningStatus
- metricKey: calc:service.vpsprovisioningstatus
- unit: COUNT
- requestAttribute: VpsProvisioningStatus
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 20
VpsProvisioningStatus_Backend:
- name: VpsProvisioningStatus_Backend
- metricKey: calc:service.vpsprovisioningstatus_backend
- unit: COUNT
- requestAttribute: VpsProvisioningStatus
- requestAttribute2: VpsProvisioningCause
- requestAttribute2Value: BACKEND
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 20
VpsProvisioningStatus_Workshop:
- name: VpsProvisioningStatus_Workshop
- metricKey: calc:service.vpsprovisioningstatus_workshop
- unit: COUNT
- requestAttribute: VpsProvisioningStatus
- requestAttribute2: VpsProvisioningCause
- requestAttribute2Value: WORKSHOP
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 20
VpsProvisioningStatus_UserUpdate:
- name: VpsProvisioningStatus_UserUpdate
- metricKey: calc:service.vpsprovisioningstatus_userupdate
- unit: COUNT
- requestAttribute: VpsProvisioningStatus
- requestAttribute2: VpsProvisioningCause
- requestAttribute2Value: USER_UPDATE
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 20
VpsProvisioningStatus_Diagnosis:
- name: VpsProvisioningStatus_Diagnosis
- metricKey: calc:service.vpsprovisioningstatus_diagnosis
- unit: COUNT
- requestAttribute: VpsProvisioningStatus
- requestAttribute2: VpsProvisioningCause
- requestAttribute2Value: DIAGNOSIS
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 20
VpsProvisioningStatus_ECU:
- name: VpsProvisioningStatus_ECU
- metricKey: calc:service.vpsprovisioningstatus_ecu
- unit: COUNT
- requestAttribute: VpsEcu
- requestAttribute2: VpsEcu
- requestAttribute2ValueNot: null
- requestAttribute3: VpsProvisioningStatus
- requestAttribute3Value1: PROVISIONED
- requestAttribute3Value2: SIGNATURE_WRONG
- requestAttribute3Value3: PROV_EXPIRED
- requestAttribute3Value4: WRONG_VIN
- requestAttribute3Value5: BAD_FILESYSTEM
- requestAttribute3Value6: BUSY
- requestAttribute3Value7: REQUEST_PROV
- requestAttribute3Value8: INVALID_XML
- requestAttribute3Value9: PROV_FAILED
- requestAttribute3Value10: OUTDATED
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsEcu} : {RequestAttribute:VpsProvisioningStatus}"
- dimensionName: VpsProvisioningStatus
- topX: 50
VpsEcu:
- name: VpsEcu
- metricKey: calc:service.vpsecu
- unit: COUNT
- requestAttribute: VpsEcu
- requestAttribute2: VpsEcu
- requestAttribute2ValueNot: null
- requestAttribute3: VpsProvisioningStatus
- requestAttribute3Value: REQUEST_PROV
- msId: VPS-Archive
- env: PROD
- dimension: "{RequestAttribute:VpsEcu}"
- dimensionName: VpsEcu
- topX: 20

View File

@ -0,0 +1,75 @@
{
"conditions": [
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EXISTS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": null
}
},
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EQUALS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute2}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": "{{.requestAttribute2Value}}"
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "ms-id",
"value": "{{.msId}}"
}
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "Environment",
"value": "{{.env}}"
}
}
}
],
"dimensionDefinition": {
"dimension": "{{.dimension}}",
"name": "{{.dimensionName}}",
"placeholders": [],
"topX": "{{.topX}}",
"topXAggregation": "SINGLE_VALUE",
"topXDirection": "DESCENDING"
},
"enabled": true,
"entityId": null,
"managementZones": [],
"metricDefinition": {
"metric": "REQUEST_COUNT",
"requestAttribute": null
},
"name": "{{.name}}",
"tsmMetricKey": "{{.metricKey}}",
"unit": "{{.unit}}",
"unitDisplayName": ""
}

View File

@ -0,0 +1,99 @@
{
"conditions": [
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EXISTS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": null
}
},
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EQUALS",
"matchOnChildCalls": false,
"negate": true,
"requestAttribute": "{{.requestAttribute2}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": "{{.requestAttribute2ValueNot}}"
}
},
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EQUALS_ANY_OF",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute3}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"values": [
"{{.requestAttribute3Value1}}",
"{{.requestAttribute3Value2}}",
"{{.requestAttribute3Value3}}",
"{{.requestAttribute3Value4}}",
"{{.requestAttribute3Value5}}",
"{{.requestAttribute3Value6}}",
"{{.requestAttribute3Value7}}",
"{{.requestAttribute3Value8}}",
"{{.requestAttribute3Value9}}",
"{{.requestAttribute3Value10}}"
]
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "ms-id",
"value": "{{.msId}}"
}
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "Environment",
"value": "{{.env}}"
}
}
}
],
"dimensionDefinition": {
"dimension": "{{.dimension}}",
"name": "{{.dimensionName}}",
"placeholders": [],
"topX": "{{.topX}}",
"topXAggregation": "SINGLE_VALUE",
"topXDirection": "DESCENDING"
},
"enabled": true,
"entityId": null,
"managementZones": [],
"metricDefinition": {
"metric": "REQUEST_COUNT",
"requestAttribute": null
},
"name": "{{.name}}",
"tsmMetricKey": "{{.metricKey}}",
"unit": "{{.unit}}",
"unitDisplayName": ""
}

View File

@ -0,0 +1,88 @@
{
"conditions": [
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EXISTS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": null
}
},
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EQUALS",
"matchOnChildCalls": false,
"negate": true,
"requestAttribute": "{{.requestAttribute2}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": "{{.requestAttribute2ValueNot}}"
}
},
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EQUALS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute3}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": "{{.requestAttribute3Value}}"
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "ms-id",
"value": "{{.msId}}"
}
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "Environment",
"value": "{{.env}}"
}
}
}
],
"dimensionDefinition": {
"dimension": "{{.dimension}}",
"name": "{{.dimensionName}}",
"placeholders": [],
"topX": "{{.topX}}",
"topXAggregation": "SINGLE_VALUE",
"topXDirection": "DESCENDING"
},
"enabled": true,
"entityId": null,
"managementZones": [],
"metricDefinition": {
"metric": "REQUEST_COUNT",
"requestAttribute": null
},
"name": "{{.name}}",
"tsmMetricKey": "{{.metricKey}}",
"unit": "{{.unit}}",
"unitDisplayName": ""
}

View File

@ -0,0 +1,62 @@
{
"conditions": [
{
"attribute": "SERVICE_REQUEST_ATTRIBUTE",
"comparisonInfo": {
"caseSensitive": false,
"comparison": "EXISTS",
"matchOnChildCalls": false,
"negate": false,
"requestAttribute": "{{.requestAttribute}}",
"source": null,
"type": "STRING_REQUEST_ATTRIBUTE",
"value": null
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "ms-id",
"value": "{{.msId}}"
}
}
},
{
"attribute": "SERVICE_TAG",
"comparisonInfo": {
"comparison": "EQUALS",
"negate": false,
"type": "TAG",
"value": {
"context": "CONTEXTLESS",
"key": "Environment",
"value": "{{.env}}"
}
}
}
],
"dimensionDefinition": {
"dimension": "{{.dimension}}",
"name": "{{.dimensionName}}",
"placeholders": [],
"topX": "{{.topX}}",
"topXAggregation": "SINGLE_VALUE",
"topXDirection": "DESCENDING"
},
"enabled": true,
"entityId": null,
"managementZones": [],
"metricDefinition": {
"metric": "REQUEST_COUNT",
"requestAttribute": null
},
"name": "{{.name}}",
"tsmMetricKey": "{{.metricKey}}",
"unit": "{{.unit}}",
"unitDisplayName": ""
}

View File

@ -3,6 +3,12 @@ config:
- CDvps-archive-E2E: default.json
- CDvps-archive-INT: default.json
- CDvps-archive-TEST: default.json
- CDvpsBusinessUseCases-EMEA-PROD: vps-business-monitoring-use-cases.json
- CDvpsBusinessUseCases-US-PROD: vps-business-monitoring-use-cases.json
- CDvpsBusinessUseCases-CN-PROD: vps-business-monitoring-use-cases.json
- CDvpsBusinessEcus-EMEA-PROD: vps-business-monitoring-ecus.json
- CDvpsBusinessEcus-US-PROD: vps-business-monitoring-ecus.json
- CDvpsBusinessEcus-CN-PROD: vps-business-monitoring-ecus.json
#PROD dashboards for EMEA/NA/CN Prod
CDvps-archive-PROD:
@ -122,4 +128,68 @@ CDvps-archive-TEST.CN-PreProd:
- mzId: CD_vps-archive/management-zone/CDvps-archive.id
- tag: vps-archive
- env: TEST
- skipDeployment: "false"
- skipDeployment: "false"
# VPS Business Monitoring - Use Cases dashboards
CDvpsBusinessUseCases-EMEA-PROD:
- name: VPS Business Monitoring - Use Cases - EMEA PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessUseCases-EMEA-PROD.EMEA-Prod:
- name: VPS Business Monitoring - Use Cases - EMEA PROD
- tag: vps
- env: PROD
- skipDeployment: "false"
CDvpsBusinessUseCases-US-PROD:
- name: VPS Business Monitoring - Use Cases - US PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessUseCases-US-PROD.NA-Prod:
- name: VPS Business Monitoring - Use Cases - US PROD
- tag: vps
- env: PROD
- skipDeployment: "false"
CDvpsBusinessUseCases-CN-PROD:
- name: VPS Business Monitoring - Use Cases - CN PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessUseCases-CN-PROD.CN-Prod:
- name: VPS Business Monitoring - Use Cases - CN PROD
- tag: vps
- env: PROD
- skipDeployment: "false"
# VPS Business Monitoring - ECUs dashboards
CDvpsBusinessEcus-EMEA-PROD:
- name: VPS Business Monitoring - ECUs - EMEA PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessEcus-EMEA-PROD.EMEA-Prod:
- name: VPS Business Monitoring - ECUs - EMEA PROD
- tag: vps
- env: PROD
- skipDeployment: "false"
CDvpsBusinessEcus-US-PROD:
- name: VPS Business Monitoring - ECUs - US PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessEcus-US-PROD.NA-Prod:
- name: VPS Business Monitoring - ECUs - US PROD
- tag: vps
- env: PROD
- skipDeployment: "false"
CDvpsBusinessEcus-CN-PROD:
- name: VPS Business Monitoring - ECUs - CN PROD
- tag: vps
- env: PROD
- skipDeployment: "true"
CDvpsBusinessEcus-CN-PROD.CN-Prod:
- name: VPS Business Monitoring - ECUs - CN PROD
- tag: vps
- env: PROD
- skipDeployment: "false"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
{
"aggregation": "{{.aggregation}}",
"confidential": false,
"dataSources": [
{
"enabled": true,
"methods": [
{
"argumentIndex": 1,
"capture": "ARGUMENT",
"deepObjectAccess": "{{.deepObjectAccess1}}",
"method": {
"argumentTypes": [
"{{.argumentType1}}"
],
"className": "{{.className1}}",
"methodName": "{{.methodName1}}",
"modifiers": [],
"returnType": "{{.returnType1}}",
"visibility": "{{.visibility1}}"
}
},
{
"argumentIndex": 1,
"capture": "ARGUMENT",
"deepObjectAccess": "{{.deepObjectAccess2}}",
"method": {
"argumentTypes": [
"{{.argumentType2}}"
],
"className": "{{.className2}}",
"methodName": "{{.methodName2}}",
"modifiers": [],
"returnType": "{{.returnType2}}",
"visibility": "{{.visibility2}}"
}
}
],
"scope": {
"tagOfProcessGroup": "{{.tagOfProcessGroup}}"
},
"source": "METHOD_PARAM",
"technology": "JAVA",
"valueProcessing": {
"splitAt": "",
"trim": false
}
}
],
"dataType": "{{.dataType}}",
"enabled": true,
"name": "{{.name}}",
"normalization": "ORIGINAL",
"skipPersonalDataMasking": false
}

View File

@ -0,0 +1,56 @@
config:
- VpsProvisioningCause: request-attribute-2-methods.json
- VpsProvisioningStatus: request-attribute-2-methods.json
- VpsProvisioningEcu: request-attribute-2-methods.json
VpsProvisioningCause:
- name: VpsProvisioningCause
- dataType: STRING
- aggregation: FIRST
- visibility1: PUBLIC
- className1: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName1: create
- returnType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess1: ".getProvisioningCause()"
- visibility2: PUBLIC
- className2: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName2: update
- returnType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess2: ".getProvisioningCause()"
- tagOfProcessGroup: "app-id:APP-17848"
VpsProvisioningStatus:
- name: VpsProvisioningStatus
- dataType: STRING
- aggregation: FIRST
- visibility1: PUBLIC
- className1: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName1: create
- returnType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess1: ".getStatus()"
- visibility2: PUBLIC
- className2: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName2: update
- returnType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess2: ".getStatus()"
- tagOfProcessGroup: "app-id:APP-17848"
VpsProvisioningEcu:
- name: VpsProvisioningEcu
- dataType: STRING
- aggregation: FIRST
- visibility1: PUBLIC
- className1: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName1: create
- returnType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType1: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess1: ".getEcu()"
- visibility2: PUBLIC
- className2: com.bmw.cc.conn.vps.bm.archive.control.dao.ProvisioningSessionDAO
- methodName2: update
- returnType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- argumentType2: com.bmw.cc.conn.vps.bm.archive.entity.ProvisioningSession
- deepObjectAccess2: ".getEcu()"
- tagOfProcessGroup: "app-id:APP-17848"