97 lines
10 KiB
HCL
97 lines
10 KiB
HCL
module TP_Vehicle_Provisioning {
|
|
|
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
|
|
|
|
|
name = "TP_Vehicle_Provisioning"
|
|
|
|
description = "CoCo-QM-Report_Vehicle"
|
|
|
|
|
|
|
|
#entity selector object
|
|
filter = ""
|
|
|
|
# metric_expression = <<EOT
|
|
# (100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"),entityName.in(~"WorkshopProvisioningService-provisioning-prod~",~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"VpsJoynrApi-provisioning-prod~",~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"NOP-Provisioning(/nop-prov)-provisioning-prod~",~"ProvisioningService-provisioning-prod~",~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"WorkshopProvisioningService-vps-prov-cn~",~"MQSession$FacadeMessageListener-vps-prov-cn~",~"MQSession$FacadeMessageListener-vps-trigger-cn~",~"VpsJoynrApi-vps-prov-cn~",~"MQSession$FacadeMessageListener-noptrigger-prod~",~"ProvisioningService-nopprov-prod~",~"NOP-Provisioning(/nop-prov)-nopprov-prod~")),entityName.in(~"vpsObtainProvisioningSync~",~"Queue:PROV_TRIGGER_ACK-prod~",~"Queue:PROV_TRIGGER_INTERNAL-prod~",~"Queue:PROV_Trigger_IN-prod~",~"Queue:PROV_ARCHIVE_IN-prod~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",~"Queue:NOP_ARCHIVE_IN-prod~",~"Queue:NOP_Trigger_IN-prod~",~"Queue:NOP_TRIGGER_ACK-prod~",~"Queue:NOP_TRIGGER_INTERNAL-prod~",~"getNOPProvisioningDataForVehicle~",~"acknowledgeNOPProvisioningDownload~",~"getNOPProvisioningDataForVehicleBase64~",~"/nop-prov/v2/mainprov/prov.do~",~"vpsObtainProvisioningSync~",~"Queue:B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",~"Queue:B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",~"Queue:B2VCNPROD.BMW.B2VCN.NOP_TRIGGER_IN~",~"getNOPProvisioningDataForVehicle~",~"acknowledgeNOPProvisioningDownload~",~"getNOPProvisioningDataForVehicleBase64~",~"/nop-prov/v2/mainprov/prov.do~")"))))):splitBy())/(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"),entityName.in(~"WorkshopProvisioningService-provisioning-prod~",~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"VpsJoynrApi-provisioning-prod~",~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"NOP-Provisioning(/nop-prov)-provisioning-prod~",~"ProvisioningService-provisioning-prod~",~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$-provisioning-prod~",~"WorkshopProvisioningService-vps-prov-cn~",~"MQSession$FacadeMessageListener-vps-prov-cn~",~"MQSession$FacadeMessageListener-vps-trigger-cn~",~"VpsJoynrApi-vps-prov-cn~",~"MQSession$FacadeMessageListener-noptrigger-prod~",~"ProvisioningService-nopprov-prod~",~"NOP-Provisioning(/nop-prov)-nopprov-prod~")),entityName.in(~"vpsObtainProvisioningSync~",~"Queue:PROV_TRIGGER_ACK-prod~",~"Queue:PROV_TRIGGER_INTERNAL-prod~",~"Queue:PROV_Trigger_IN-prod~",~"Queue:PROV_ARCHIVE_IN-prod~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",~"Queue:NOP_ARCHIVE_IN-prod~",~"Queue:NOP_Trigger_IN-prod~",~"Queue:NOP_TRIGGER_ACK-prod~",~"Queue:NOP_TRIGGER_INTERNAL-prod~",~"getNOPProvisioningDataForVehicle~",~"acknowledgeNOPProvisioningDownload~",~"getNOPProvisioningDataForVehicleBase64~",~"/nop-prov/v2/mainprov/prov.do~",~"vpsObtainProvisioningSync~",~"Queue:B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",~"Queue:B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",~"Queue:B2VCNPROD.BMW.B2VCN.NOP_TRIGGER_IN~",~"getNOPProvisioningDataForVehicle~",~"acknowledgeNOPProvisioningDownload~",~"getNOPProvisioningDataForVehicleBase64~",~"/nop-prov/v2/mainprov/prov.do~")"))))):splitBy()))
|
|
# EOT
|
|
|
|
#metric expression of the calculation as done in data explorer ui
|
|
metric_expression = <<EOT
|
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
|
fromRelationship.isServiceMethodOfService(
|
|
type(~"SERVICE~"),entityName.in(
|
|
~"WorkshopProvisioningService - provisioning - prod~",
|
|
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"VpsJoynrApi - provisioning - prod~",
|
|
~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"NOP-Provisioning (/nop-prov) - provisioning - prod~",
|
|
~"ProvisioningService - provisioning - prod~",
|
|
~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",))
|
|
,entityName.in(
|
|
~"vpsObtainProvisioningSync~",
|
|
~"Queue: PROV_TRIGGER_ACK-prod~",
|
|
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
|
|
~"Queue: PROV_Trigger_IN-prod~",
|
|
~"Queue: PROV_ARCHIVE_IN-prod~",
|
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
|
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
|
|
~"Queue: NOP_ARCHIVE_IN-prod~",
|
|
~"Queue: NOP_Trigger_IN-prod~",
|
|
~"Queue: NOP_TRIGGER_ACK-prod~",
|
|
~"Queue: NOP_TRIGGER_INTERNAL-prod~",
|
|
~"getNOPProvisioningDataForVehicle~",
|
|
~"acknowledgeNOPProvisioningDownload~",
|
|
~"getNOPProvisioningDataForVehicleBase64~",
|
|
~"/nop-prov/v2/mainprov/prov.do~",
|
|
)"))))):splitBy())
|
|
/
|
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
|
fromRelationship.isServiceMethodOfService(
|
|
type(~"SERVICE~"),entityName.in(
|
|
~"WorkshopProvisioningService - provisioning - prod~",
|
|
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"VpsJoynrApi - provisioning - prod~",
|
|
~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
|
|
~"NOP-Provisioning (/nop-prov) - provisioning - prod~",
|
|
~"ProvisioningService - provisioning - prod~",
|
|
~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",))
|
|
,entityName.in(
|
|
~"vpsObtainProvisioningSync~",
|
|
~"Queue: PROV_TRIGGER_ACK-prod~",
|
|
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
|
|
~"Queue: PROV_Trigger_IN-prod~",
|
|
~"Queue: PROV_ARCHIVE_IN-prod~",
|
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
|
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
|
|
~"Queue: NOP_ARCHIVE_IN-prod~",
|
|
~"Queue: NOP_Trigger_IN-prod~",
|
|
~"Queue: NOP_TRIGGER_ACK-prod~",
|
|
~"Queue: NOP_TRIGGER_INTERNAL-prod~",
|
|
~"getNOPProvisioningDataForVehicle~",
|
|
~"acknowledgeNOPProvisioningDownload~",
|
|
~"getNOPProvisioningDataForVehicleBase64~",
|
|
~"/nop-prov/v2/mainprov/prov.do~",
|
|
)"))))):splitBy()))
|
|
EOT
|
|
|
|
#if not set (removed) it's defaulted to "-1d"
|
|
timeframe = "-1d"
|
|
|
|
|
|
#currently the only possible value
|
|
evaluation = "AGGREGATE"
|
|
|
|
#Target and warning percentage of the SLO as double
|
|
target = 98 #if not set(removed) it's defaulted to 98
|
|
warning = 99 #if not set(removed) it's defaulted to 99
|
|
|
|
} |