Compare commits
30 Commits
renaming_f
...
230309-145
| Author | SHA1 | Date |
|---|---|---|
|
|
63a0fd3ac7 | |
|
|
ec4671c5c9 | |
|
|
128e736e75 | |
|
|
9a82ac4c98 | |
|
|
6d9ed17082 | |
|
|
2a81d01ec1 | |
|
|
ea5b2b3eea | |
|
|
506b5eca49 | |
|
|
80350c08e5 | |
|
|
db2801978e | |
|
|
5e919dece2 | |
|
|
2f8d0e05f2 | |
|
|
f9adc70020 | |
|
|
35af436354 | |
|
|
6f357e40bc | |
|
|
44e840a0bc | |
|
|
7e778f0b1c | |
|
|
4175e1fda7 | |
|
|
bae919fc2f | |
|
|
9dae6fd342 | |
|
|
f84495197f | |
|
|
8dcd1b7443 | |
|
|
d0bc0d1d9e | |
|
|
c21fb97ec6 | |
|
|
da7cf83eef | |
|
|
9310ca7e94 | |
|
|
4b66f9a8d7 | |
|
|
92d32b8a3f | |
|
|
262f6fdc95 | |
|
|
3753db578d |
|
|
@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
|
||||||
name = "PD_AccountManagementConnectedCar"
|
name = "PD_AccountManagementConnectedCar"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
||||||
name = "PD_ConnectedDriveStoreBackend"
|
name = "PD_ConnectedDriveStoreBackend"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
|
||||||
enabled = true
|
|
||||||
selector = "type(Service),tag(\"Component:am-store\")"
|
|
||||||
}
|
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
|
||||||
name = "PD_ConnectedUserProfileServices"
|
name = "PD_ConnectedUserProfileServices"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
|
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:dpm\")"
|
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
selector = "type(Service),tag(\"compass-id:agent-service\")"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
name = "PD_InfotainmentInteractivityServices"
|
name = "PD_InfotainmentInteractivityServices"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
|
||||||
name = "PD_AccountManagementConnectedCar"
|
name = "PD_AccountManagementConnectedCar"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
||||||
name = "PD_ConnectedDriveStoreBackend"
|
name = "PD_ConnectedDriveStoreBackend"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
|
||||||
enabled = true
|
|
||||||
selector = "type(Service),tag(\"Component:am-store\")"
|
|
||||||
}
|
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
|
||||||
name = "PD_ConnectedUserProfileServices"
|
name = "PD_ConnectedUserProfileServices"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
|
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:dpm\")"
|
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
selector = "type(Service),tag(\"compass-id:agent-service\")"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
name = "PD_InfotainmentInteractivityServices"
|
name = "PD_InfotainmentInteractivityServices"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
module TP_Mobile_CD_Store {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Mobile_CD_Store"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"StoreOfferResourceV6 - am-store - prod~",
|
||||||
|
~"CdStoreOfferResource - am-store - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getOffersAndPortfolio~",
|
||||||
|
~"bookedAndBookableCDServices~",
|
||||||
|
~"bookedAndBookableCDServices 1~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_DigitalKey"
|
name = "TP_Mobile_DigitalKey"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -12,51 +12,34 @@ module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TrackApi - smc - PROD~",
|
||||||
in(
|
~"digital-key-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TrackApi - smc - PROD~",
|
|
||||||
~"digital-key-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"trackKey~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"manageKey~",
|
||||||
and(
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
or(
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
in(
|
)"))))):splitBy())
|
||||||
"dt.entity.service_method",
|
/
|
||||||
entitySelector(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"type(service_method),
|
fromRelationship.isServiceMethodOfService(
|
||||||
fromRelationship.isServiceMethodOfService(
|
type(~"SERVICE~"),entityName.in(
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"TrackApi - smc - PROD~",
|
||||||
~"TrackApi - smc - PROD~",
|
~"digital-key-composite-service - PROD~"
|
||||||
~"digital-key-composite-service - PROD~"
|
)
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,67 +4,32 @@ module TP_Mobile_Login {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Login"
|
name = "TP_Mobile_Login"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"btc-user-composite-service - PROD~",
|
~"btc-user-composite-service - PROD~",
|
||||||
~"btc-cn-connected-oauth-service - PROD~"
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/presentation/profile-account~",
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
~"GET /api/v2/presentation/profile-account~",
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
~"POST /api/v2/presentation/profile-account~",
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
~"GET /api/v1/presentation/profile-tab/contacts~",
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
~"POST /api/v2/cop/login/pwd~",
|
~"/api/v2/cop/login/pwd~",
|
||||||
~"POST /api/v2/cop/login/sms~",
|
~"/api/v2/cop/login/sms~",
|
||||||
~"POST /api/v2/cop/sso~",
|
~"/api/v2/cop/sso~",
|
||||||
~"GET /api/v1/cop/logout~"
|
~"/api/v2/cop/logout~"
|
||||||
)")
|
)"))))):splitBy())
|
||||||
)
|
EOT
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-user-composite-service - PROD~",
|
|
||||||
~"btc-cn-connected-oauth-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/presentation/profile-account~",
|
|
||||||
~"GET /api/v2/presentation/profile-account~",
|
|
||||||
~"POST /api/v2/presentation/profile-account~",
|
|
||||||
~"GET /api/v1/presentation/profile-tab/contacts~",
|
|
||||||
~"POST /api/v2/cop/login/pwd~",
|
|
||||||
~"POST /api/v2/cop/login/sms~",
|
|
||||||
~"POST /api/v2/cop/sso~",
|
|
||||||
~"GET /api/v1/cop/logout~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Mapping"
|
name = "TP_Mobile_Mapping"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
|
||||||
|
|
@ -4,55 +4,39 @@ module TP_Mobile_PersonalFavorites {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_PersonalFavorites"
|
name = "TP_Mobile_PersonalFavorites"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"btc-destination-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-destination-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v3/favorites~",
|
|
||||||
~"POST /api/v3/favorites~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"GET /api/v3/favorites/~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"POST /api/v3/favorites/~",
|
||||||
and(
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
or(
|
)"))))):splitBy())
|
||||||
in(
|
/
|
||||||
"dt.entity.service_method",
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
entitySelector(
|
fromRelationship.isServiceMethodOfService(
|
||||||
"type(service_method),
|
type(~"SERVICE~"),entityName.in(
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"btc-destination-composite-service - PROD~"
|
||||||
type(~"SERVICE~"),entityName.in(
|
)
|
||||||
~"btc-destination-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v3/favorites~",
|
|
||||||
~"POST /api/v3/favorites~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Mobile_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Mobile_RSU"
|
||||||
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v1/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v1/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,65 +4,32 @@ module TP_Mobile_Remote360 {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Remote360"
|
name = "TP_Mobile_Remote360"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"remote-360-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
,entityName.in(
|
||||||
"type(service_method),
|
~"GET /api/v1/events/[UUID]~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"POST /api/v1/event/execute~",
|
||||||
~"remote-360-composite-service - PROD~"
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
)
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
)
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
,entityName.in(
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
~"GET /api/v1/events/[UUID]~",
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
)"))))):splitBy())
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
EOT
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"remote-360-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/events/[UUID]~",
|
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_RemoteServices {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_RemoteServices"
|
name = "TP_Mobile_RemoteServices"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -12,61 +12,35 @@ module TP_Mobile_RemoteServices {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
,entityName.in(
|
||||||
"type(service_method),
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
)
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
)
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
,entityName.in(
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
||||||
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
)")
|
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
)
|
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
))):splitBy())
|
~"POST /api/v3/presentation/remote-commands/eventPosition~"
|
||||||
/
|
)"))))):splitBy())
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
EOT
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
|
||||||
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,43 +4,27 @@ module TP_Mobile_Send2VehicleLegacy {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Send2VehicleLegacy"
|
name = "TP_Mobile_Send2VehicleLegacy"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service",
|
||||||
((builtin:service.errors.server.successCount:filter(
|
entitySelector("type(service),
|
||||||
and(
|
entityName.in(
|
||||||
or(
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service",
|
"))))):splitBy())
|
||||||
entitySelector("type(service),
|
/
|
||||||
entityName.in(
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
entityName.in(
|
||||||
)
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
")
|
)
|
||||||
)
|
"))))):splitBy()))
|
||||||
)
|
EOT
|
||||||
)):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.requestCount.total:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service",
|
|
||||||
entitySelector("type(service),
|
|
||||||
entityName.in(
|
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
|
||||||
)
|
|
||||||
")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,53 +4,36 @@ module TP_Mobile_Send2VehicleMGU {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Send2VehicleMGU"
|
name = "TP_Mobile_Send2VehicleMGU"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TripService - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v3/motorist/[UUID]/trips~",
|
|
||||||
~"/v2/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
and(
|
)"))))):splitBy())
|
||||||
or(
|
/
|
||||||
in(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"dt.entity.service_method",
|
fromRelationship.isServiceMethodOfService(
|
||||||
entitySelector(
|
type(~"SERVICE~"),entityName.in(
|
||||||
"type(service_method),
|
~"TripService - PROD~"
|
||||||
fromRelationship.isServiceMethodOfService(
|
)
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v3/motorist/[UUID]/trips~",
|
|
||||||
~"/v2/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,55 +4,28 @@ module TP_Mobile_VehicleData {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_VehicleData"
|
name = "TP_Mobile_VehicleData"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
~"btc-vehicle-composite-service - PROD~",
|
||||||
~"VehicleService - PROD~"
|
~"VehicleService - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
~"GET /api/v1/vehicles/<VIN>/state~",
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
~"GET /v1/vehicle/<VIN>~",
|
||||||
)")
|
~"GET /v2/vehicle/<VIN>~"
|
||||||
)
|
)")))):splitBy())
|
||||||
))):splitBy())
|
|
||||||
/
|
EOT
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
|
||||||
~"VehicleService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_VehicleList"
|
name = "TP_Mobile_VehicleList"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -12,40 +12,27 @@ module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
entitySelector("type(service_method),
|
||||||
and(
|
fromRelationship.isServiceMethodOfService(
|
||||||
or(
|
type(~"SERVICE~"),entityName.in(
|
||||||
in(
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
)
|
||||||
"type(service_method),
|
,entityName.in(
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"GET /api/v1/vehicles~"
|
||||||
type(~"SERVICE~"),entityName.in
|
)"))))):splitBy())
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
/
|
||||||
)
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",
|
||||||
,entityName.in(
|
entitySelector("type(service_method),
|
||||||
~"GET /api/v1/vehicles~"
|
fromRelationship.isServiceMethodOfService(
|
||||||
)")
|
type(~"SERVICE~"),entityName.in(
|
||||||
)
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
))):splitBy())
|
)
|
||||||
/
|
)
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
,entityName.in(
|
||||||
and(
|
~"GET /api/v1/vehicles~"
|
||||||
or(
|
)"))))):splitBy()))
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in
|
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
module TP_Vehicle_AppDistribution {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_AppDistribution"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"AppsServiceV1 - id5-app - prod~",
|
||||||
|
~"AppVersionsResource - app-distribution - prod~",
|
||||||
|
~"ReleaseNotesResource - app-distribution - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getActiveVersionsForApp~",
|
||||||
|
~"getReleaseNotes~",
|
||||||
|
~"getAppV2~",
|
||||||
|
~"getAppListV2~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
module TP_Vehicle_CD_Store {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_CD_Store"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"StoreOfferResourceV6 - am-store - prod~",
|
||||||
|
~"CdStoreOfferResource - am-store - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getOffersAndPortfolio~",
|
||||||
|
~"bookedAndBookableCDServices~",
|
||||||
|
~"bookedAndBookableCDServices 1~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
module TP_Vehicle_ConnectedMusic {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_ConnectedMusic"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100) *
|
||||||
|
(builtin:service.keyRequest.errors.server.successCount:filter(
|
||||||
|
and(
|
||||||
|
in(
|
||||||
|
"dt.entity.service_method"
|
||||||
|
,entitySelector(
|
||||||
|
"type(service_method)
|
||||||
|
,entityName(~"Vehicle_Successful_ResponseCode~")"
|
||||||
|
)))):splitBy()
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.errors.server.successCount:filter(
|
||||||
|
and(
|
||||||
|
in(
|
||||||
|
"dt.entity.service_method"
|
||||||
|
,entitySelector(
|
||||||
|
"type(service_method)
|
||||||
|
,entityName(~"Vehicle_Successful_ResponseCode~")"
|
||||||
|
)))):splitBy()
|
||||||
|
+
|
||||||
|
builtin:service.keyRequest.errors.server.successCount:filter(
|
||||||
|
and(
|
||||||
|
in(
|
||||||
|
"dt.entity.service_method"
|
||||||
|
,entitySelector(
|
||||||
|
"type(service_method)
|
||||||
|
,entityName(~"Vehicle_Failed_ResponseCode~")"
|
||||||
|
)))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
module TP_Vehicle_FTS {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Vehicle_FTS"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"POIs~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getPOIs (FTS Calls)~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
module TP_Vehicle_Login {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Login"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"TokenResource - cac - prod~",
|
||||||
|
~"CredentialInfoResource - cac - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST authorize password~",
|
||||||
|
~"POST authorize device_code~",
|
||||||
|
~"validateUser~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TokenResource - cac - prod~",
|
||||||
|
~"CredentialInfoResource - cac - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST authorize password~",
|
||||||
|
~"POST authorize device_code~",
|
||||||
|
~"validateUser~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Vehicle_Personalization {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Personalization"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"Perseus (/service) - cub-personalization - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"GET /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"PUT /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"createAssociationForGcidAndVin~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"Perseus (/service) - cub-personalization - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"GET /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"PUT /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"createAssociationForGcidAndVin~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
module TP_Vehicle_Podcast {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Podcast"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"XimalayaContentApi - avs~",
|
||||||
|
~"XimalayaLoginApi - avs~",
|
||||||
|
~"XimalayaOpenContentApi - avs~",
|
||||||
|
~"XimalayaPersonalApi - avs~",
|
||||||
|
~"XimalayaSearchApi - avs~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getAudio~",
|
||||||
|
~"getExploreContent~",
|
||||||
|
~"getTracksOfAlbum~",
|
||||||
|
~"getDeviceId~",
|
||||||
|
~"getImage~",
|
||||||
|
~"getOneClickChannelCover~",
|
||||||
|
~"getSubscribedAlbums~",
|
||||||
|
~"search~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
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 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 - 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: 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 - 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: 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
|
||||||
|
|
||||||
|
|
||||||
|
#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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
module TP_Vehicle_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RSU"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource - rsu - prod~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource - rsu - prod~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
module TP_Vehicle_RTTI {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RTTI"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.equals(
|
||||||
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
module TP_Vehicle_SmartParking {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_SmartParking"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)*(builtin:service.keyRequest.errors.server.successCount:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
entityName.in(
|
||||||
|
~"/sppid7/parkingfinder/v1/EstimatedTimeArrival/getETA~",
|
||||||
|
~"/parkingfinder/v2.0/getParkingLots~"
|
||||||
|
)")))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
entityName.in(
|
||||||
|
~"/sppid7/parkingfinder/v1/EstimatedTimeArrival/getETA~",
|
||||||
|
~"/parkingfinder/v2.0/getParkingLots~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
module TP_Vehicle_SmartRefuel {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_SmartRefuel"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = "type(\"SERVICE_METHOD\")"
|
||||||
|
|
||||||
|
|
||||||
|
#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(~"omcsmtrflce20q3~"),mzName(~"CN_OMC_PROD~")
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/smtrfl/api/v1/order~",
|
||||||
|
~"/smtrfl/api/v1/station/list~",
|
||||||
|
~"/smtrfl/api/v1/station/detail~"
|
||||||
|
)")
|
||||||
|
)
|
||||||
|
))):splitBy():sum:auto:sort(value(sum,descending)))
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(
|
||||||
|
and(
|
||||||
|
or(
|
||||||
|
in(
|
||||||
|
"dt.entity.service_method",
|
||||||
|
entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName(~"omcsmtrflce20q3~"),mzName(~"CN_OMC_PROD~")
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/smtrfl/api/v1/order~",
|
||||||
|
~"/smtrfl/api/v1/station/list~",
|
||||||
|
~"/smtrfl/api/v1/station/detail~"
|
||||||
|
)")
|
||||||
|
)
|
||||||
|
))):splitBy():sum:auto:sort(value(sum,descending))))
|
||||||
|
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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
module TP_Vehicle_Speech {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Speech"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# Error Code 502 in HVD service will be excluded from the SLO.
|
||||||
|
# Therefore the metric server side errors was used for calculation.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.server.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - ipa-backend-cn - prod~",
|
||||||
|
~"server (/htts) - ipa-backend-cn - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/speech~",
|
||||||
|
~"/htts/transcribe~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
module TP_Vehicle_TMPP {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_TMPP"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"CarRegistrationApi - iis-cc-cn - prod~",
|
||||||
|
~"ChannelAdminApi - iis-cc-cn - prod~",
|
||||||
|
~"ManifestCarApi - iis-cc-cn - prod~",
|
||||||
|
~"ManifestDomainApi - iis-cc-cn - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"addUuid~",
|
||||||
|
~"validateUuid~",
|
||||||
|
~"getChannels~",
|
||||||
|
~"getManifests~",
|
||||||
|
~"getWhitelisted~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
module TP_Vehicle_Teleservices {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Teleservices"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.errors.total.rate:filter(and(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.in(
|
||||||
|
~"ifs-001 (Kinesis) CCM - teleservices - prod~",
|
||||||
|
~"ifs-001 (Kinesis) TyreWsIncoming - IN - teleservices - prod~",
|
||||||
|
~"ifs-001 (Kinesis) TyreDiIncoming - IN - teleservices - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerPdmContainerUpdate/notifyPdmContainerStatus - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerWhitelistUpdate/notifyWhitelistStatus - IN/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerStandardOdfUpdate/notifyOdfStatus - IN/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-003 (JOYNR) start/stop/notifyTemporaryOdfStatus - INT/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-007 (JOYNR) requestPdmResult/notifyPdmResult - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-002 (JOYNR) request/notifyKeyData - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-002 (JOYNR) notifyRSUStatus - IN - teleservices - prod~",
|
||||||
|
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) notifyMaintenanceStatus - IN - prod~",
|
||||||
|
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) requestMaintenanceStatus/confirmMaintenanceStatus - OUT - prod~",
|
||||||
|
~"ifs-005 (JOYNR) notify/confirmBatteryStatus - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-007 (JOYNR) requestDiagResult/notifyDiagResult - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-005 (SQS) TscsCallTopic - IN - teleservices - prod~",
|
||||||
|
~"ifs-006 (SQS) TsddCallTopic - IN - teleservices - prod~",
|
||||||
|
~"ifs-010 (SQS) RtcadCallTopic - IN - teleservices - prod~",
|
||||||
|
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~",
|
||||||
|
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~",
|
||||||
|
~"ifs-003 (MQS) MguItsnIn/Out (ClassificationRequest/Response) - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-003 (MQS) MguItsnIn/Out (DiagnosisRequest/Response) - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-005 (MQS) BCallHandlerIstaIn/Out - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-001 (SQS) BCallIn/Out - IN/OUT - teleservices - prod~",
|
||||||
|
~"VDLM_ts-asc - ifs-001 (SQS) AscIn/Out - IN/OUT - prod~",
|
||||||
|
~"InternalApiResourceV2 - teleservices - prod~",
|
||||||
|
~"VDLM_rtchandler - ifs-010 (SQS) RtcTeleXIn/Out - IN/OUT - prod~",
|
||||||
|
~"ckf-cn.bmwgroup.net~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
module TP_Vehicle_TmallGenie {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_TmallGenie"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)*
|
||||||
|
(builtin:service.errors.server.successCount:filter(in("dt.entity.service",
|
||||||
|
entitySelector("type(~"SERVICE~"),entityName.in(
|
||||||
|
~"cn-tmall-genie-composite-service - PROD~",
|
||||||
|
~"hvd (/hvd) - ipa-backend-cn - prod~"
|
||||||
|
)"))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.requestCount.server:filter(in("dt.entity.service",
|
||||||
|
entitySelector("type(~"SERVICE~"),entityName.in(
|
||||||
|
~"cn-tmall-genie-composite-service - PROD~",
|
||||||
|
~"hvd (/hvd) - ipa-backend-cn - prod~"
|
||||||
|
)"))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
module TP_Vehicle_eCall {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_eCall"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"VoiceV2Resource - ngtp-cs - prod~",
|
||||||
|
~"CallRoutingResource - crs - prod~",
|
||||||
|
~"NgtpUplinkEventResource - ngtp-cs - prod~",
|
||||||
|
~"V1Api - PROD~",
|
||||||
|
~"CallMgmtApiResourceV1 - b*vvoice - prod~",
|
||||||
|
~"ISmsGatewayBF - ecs - prod~",
|
||||||
|
~"EcsApiController - PROD~",
|
||||||
|
~"VehicleVinV2BF - ecs - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"voiceInitatedCallSync_ECALL~",
|
||||||
|
~"callReceived~",
|
||||||
|
~"getRoutingData_ECALL~",
|
||||||
|
~"notifyCsMessage~",
|
||||||
|
~"setupCall_ECALL~",
|
||||||
|
~"routeCall~",
|
||||||
|
~"message~",
|
||||||
|
~"ecsEventReceived~",
|
||||||
|
~"createEventByvin~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
module TP_Vehicle_xCall {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_xCall"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"VoiceV2Resource - ngtp-cs - prod~",
|
||||||
|
~"CallRoutingResource - crs - prod~",
|
||||||
|
~"NgtpUplinkEventResource - ngtp-cs - prod~",
|
||||||
|
~"V1Api - PROD~",
|
||||||
|
~"XcsApiController - PROD~",
|
||||||
|
~"CallMgmtApiResourceV1 - b*vvoice - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"voiceInitatedCallSync_XCALL~",
|
||||||
|
~"callReceived~",
|
||||||
|
~"getRoutingData_XCALL~",
|
||||||
|
~"notifyCsMessage~",
|
||||||
|
~"setupCall_XCALL~",
|
||||||
|
~"routeCall~",
|
||||||
|
~"xcsEventReceived~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -14,15 +14,10 @@ module Wirkkette__RTTI-Service__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
entityName.equals(
|
entityName.equals(
|
||||||
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
)"))))):splitBy())
|
)"))))):splitBy())
|
||||||
/
|
|
||||||
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
|
||||||
entityName.equals(
|
|
||||||
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
|
||||||
)"))))):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,66 +15,34 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
fromRelationship.isServiceMethodOfService(
|
||||||
fromRelationship.isServiceMethodOfService(
|
type(~"SERVICE~"),entityName.in(
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
)
|
||||||
)
|
)
|
||||||
)
|
,entityName.in(
|
||||||
,entityName.in(
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
||||||
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
||||||
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~"
|
~"POST /api/v3/presentation/remote-commands/eventPosition~"
|
||||||
)")
|
)"))))):splitBy())
|
||||||
)
|
|
||||||
)):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
|
||||||
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
|
||||||
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
|
||||||
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
)):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_DigitalKey"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TrackApi - smc - PROD~",
|
||||||
|
~"digital-key-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TrackApi - smc - PROD~",
|
||||||
|
~"digital-key-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
module TP_Mobile_Login {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Login"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
|
~"POST /api/v2/cop/login/pwd~",
|
||||||
|
~"POST /api/v2/cop/login/sms~",
|
||||||
|
~"POST /api/v2/cop/sso~",
|
||||||
|
~"GET /api/v1/cop/logout~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
|
~"POST /api/v2/cop/login/pwd~",
|
||||||
|
~"POST /api/v2/cop/login/sms~",
|
||||||
|
~"POST /api/v2/cop/sso~",
|
||||||
|
~"GET /api/v1/cop/logout~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
module TP_Mobile_Mapping {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Mapping"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"vehicle-mapping-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
|
~"DELETE /api/v1/vehicles/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"vehicle-mapping-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
|
~"DELETE /api/v1/vehicles/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
module TP_Mobile_PersonalFavorites {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_PersonalFavorites"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-destination-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-destination-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
module TP_Mobile_Remote360 {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Remote360"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"remote-360-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/events/[UUID]~",
|
||||||
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
|
~"POST /api/v1/event/execute~",
|
||||||
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"remote-360-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/events/[UUID]~",
|
||||||
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
|
~"POST /api/v1/event/execute~",
|
||||||
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
module TP_Mobile_RemoteServices {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_RemoteServices"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
module TP_Mobile_Send2VehicleLegacy {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Send2VehicleLegacy"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((:filter(and(or(in("dt.entity.service",entitySelector("type(service),entityName.in(
|
||||||
|
~"~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.in(
|
||||||
|
~"~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
module TP_Mobile_Send2VehicleMGU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Send2VehicleMGU"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"TripService - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"/v3/motorist/[UUID]/trips~",
|
||||||
|
~"/v2/motorist/[UUID]/trips~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TripService - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"/v3/motorist/[UUID]/trips~",
|
||||||
|
~"/v2/motorist/[UUID]/trips~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Mobile_VehicleData {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_VehicleData"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/vehicles~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/vehicles~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_VehicleList"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/vehicles~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/vehicles~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
module TP_Vehicle_FTS {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Vehicle_FTS"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Draft"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"POIs~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"getPOIs (FTS Calls)~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
module TP_Vehicle_RTTI {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RTTI"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.equals(
|
||||||
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.equals(
|
||||||
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
|
||||||
name = "PD_AccountManagementConnectedCar"
|
name = "PD_AccountManagementConnectedCar"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
||||||
name = "PD_ConnectedDriveStoreBackend"
|
name = "PD_ConnectedDriveStoreBackend"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
|
||||||
enabled = true
|
|
||||||
selector = "type(Service),tag(\"Component:am-store\")"
|
|
||||||
}
|
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
|
||||||
name = "PD_ConnectedUserProfileServices"
|
name = "PD_ConnectedUserProfileServices"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
|
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:dpm\")"
|
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
selector = "type(Service),tag(\"compass-id:agent-service\")"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
name = "PD_InfotainmentInteractivityServices"
|
name = "PD_InfotainmentInteractivityServices"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
||||||
|
|
@ -20,4 +24,8 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
|
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
|
||||||
}
|
}
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
|
||||||
name = "PD_AccountManagementConnectedCar"
|
name = "PD_AccountManagementConnectedCar"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
|
||||||
name = "PD_ConnectedDriveStoreBackend"
|
name = "PD_ConnectedDriveStoreBackend"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"Component:am-store\")"
|
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,15 @@
|
||||||
resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
|
resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
|
||||||
name = "PD_ConnectedUserProfileServices"
|
name = "PD_ConnectedUserProfileServices"
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
# enabled = false
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
|
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")"
|
||||||
}
|
|
||||||
entity_selector_based_rule {
|
|
||||||
# enabled = false
|
|
||||||
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:dpm\",\"compass-id:DPP\")"
|
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
|
||||||
}
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:agent-service\")"
|
selector = "type(Service),tag(\"compass-id:agent-service\")"
|
||||||
}
|
}
|
||||||
rules {
|
|
||||||
type = "SERVICE"
|
|
||||||
# enabled = false
|
|
||||||
conditions {
|
|
||||||
key {
|
|
||||||
type = "STATIC"
|
|
||||||
attribute = "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
string {
|
|
||||||
case_sensitive = true
|
|
||||||
# negate = false
|
|
||||||
operator = "EQUALS"
|
|
||||||
value = "ProtectedDppV1RestApi - dpp - prod"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
name = "PD_InfotainmentInteractivityServices"
|
name = "PD_InfotainmentInteractivityServices"
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
|
||||||
|
}
|
||||||
entity_selector_based_rule {
|
entity_selector_based_rule {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
|
||||||
|
|
@ -20,4 +24,8 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
|
||||||
enabled = true
|
enabled = true
|
||||||
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
|
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
|
||||||
}
|
}
|
||||||
|
entity_selector_based_rule {
|
||||||
|
enabled = true
|
||||||
|
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Mobile_CD_Store {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Mobile_CD_Store"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"StoreOfferResourceV6 - am-store - prod~",
|
||||||
|
~"StoreResourceV4 - am-store - prod~",
|
||||||
|
~"CdStoreOfferResource - am-store - prod~",
|
||||||
|
~"StoreOfferResourceV7 - am-store - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getOffersAndPortfolio~",
|
||||||
|
~"bookedAndBookableCDServices~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_DigitalKey"
|
name = "TP_Mobile_DigitalKey"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -12,51 +12,34 @@ module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TrackApi - smc - PROD~",
|
||||||
in(
|
~"digital-key-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TrackApi - smc - PROD~",
|
|
||||||
~"digital-key-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"trackKey~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"manageKey~",
|
||||||
and(
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
or(
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
in(
|
)"))))):splitBy())
|
||||||
"dt.entity.service_method",
|
/
|
||||||
entitySelector(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"type(service_method),
|
fromRelationship.isServiceMethodOfService(
|
||||||
fromRelationship.isServiceMethodOfService(
|
type(~"SERVICE~"),entityName.in(
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"TrackApi - smc - PROD~",
|
||||||
~"TrackApi - smc - PROD~",
|
~"digital-key-composite-service - PROD~"
|
||||||
~"digital-key-composite-service - PROD~"
|
)
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,57 +4,27 @@ module TP_Mobile_Login {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Login"
|
name = "TP_Mobile_Login"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"btc-user-composite-service - PROD~",
|
~"btc-user-composite-service - PROD~",
|
||||||
~"btc-connected-oauth-service - PROD~"
|
~"btc-connected-oauth-service - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/presentation/oauth/config~",
|
~"GET /api/v1/presentation/oauth/config~",
|
||||||
~"GET /api/v1/presentation/profile-tab~",
|
~"GET /api/v1/presentation/profile-tab~",
|
||||||
~"POST /api/v1/oauth/token/identifier~"
|
~"POST /api/v1/oauth/token/identifier~"
|
||||||
)")
|
)"))))):splitBy())
|
||||||
)
|
EOT
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-user-composite-service - PROD~",
|
|
||||||
~"btc-connected-oauth-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/presentation/oauth/config~",
|
|
||||||
~"GET /api/v1/presentation/profile-tab~",
|
|
||||||
~"POST /api/v1/oauth/token/identifier~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Mapping"
|
name = "TP_Mobile_Mapping"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -30,9 +30,15 @@ module TP_Mobile_Mapping {
|
||||||
~"GET /api/v2/presentation/users/validate~",
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
~"POST /api/v2/vehicles/<VIN>/primary~",
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
~"DELETE /api/v1/vehicles/<VIN>~"
|
~"DELETE /api/v1/vehicles/<VIN>~",
|
||||||
|
~"POST /api/v3/mappings/create~",
|
||||||
|
~"POST /api/v3/mappings/continue~",
|
||||||
|
~"POST /api/v3/mappings/validate-security-code~",
|
||||||
|
~"POST /api/v3/mappings/resend-security-code~",
|
||||||
|
~"GET /api/v3/images/<image>~",
|
||||||
|
~"DELETE /api/v3/mappings~"
|
||||||
)")
|
)")
|
||||||
)
|
)
|
||||||
))):splitBy())
|
))):splitBy())
|
||||||
|
|
@ -54,9 +60,15 @@ module TP_Mobile_Mapping {
|
||||||
~"GET /api/v2/presentation/users/validate~",
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
~"POST /api/v2/vehicles/<VIN>/primary~",
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
~"DELETE /api/v1/vehicles/<VIN>~"
|
~"DELETE /api/v1/vehicles/<VIN>~",
|
||||||
|
~"POST /api/v3/mappings/create~",
|
||||||
|
~"POST /api/v3/mappings/continue~",
|
||||||
|
~"POST /api/v3/mappings/validate-security-code~",
|
||||||
|
~"POST /api/v3/mappings/resend-security-code~",
|
||||||
|
~"GET /api/v3/images/<image>~",
|
||||||
|
~"DELETE /api/v3/mappings~"
|
||||||
)")
|
)")
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
))):splitBy()))
|
||||||
|
|
|
||||||
|
|
@ -4,67 +4,51 @@ module TP_Mobile_PersonalFavorites {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_PersonalFavorites"
|
name = "TP_Mobile_PersonalFavorites"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"btc-destination-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-destination-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /api/v2/favorites/~",
|
|
||||||
~"POST /api/v3/favorites/~",
|
|
||||||
~"GET /api/v2/favorites/~",
|
|
||||||
~"GET /api/v3/favorites/~",
|
|
||||||
~"GET /api/v1/favorites~",
|
|
||||||
~"PUT /api/v2/favorites/<favoriteId>~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~",
|
|
||||||
~"PUT /api/v2/favorites/homework/1~",
|
|
||||||
~"PUT /api/v2/favorites/homework/2~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"POST /api/v2/favorites/~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"POST /api/v3/favorites/~",
|
||||||
and(
|
~"GET /api/v2/favorites/~",
|
||||||
or(
|
~"GET /api/v3/favorites/~",
|
||||||
in(
|
~"GET /api/v1/favorites~",
|
||||||
"dt.entity.service_method",
|
~"PUT /api/v2/favorites/<favoriteId>~",
|
||||||
entitySelector(
|
~"PUT /api/v3/favorites/<favoriteId>~",
|
||||||
"type(service_method),
|
~"PUT /api/v2/favorites/homework/1~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"PUT /api/v2/favorites/homework/2~"
|
||||||
type(~"SERVICE~"),entityName.in(
|
)"))))):splitBy())
|
||||||
~"btc-destination-composite-service - PROD~"
|
/
|
||||||
)
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
)
|
fromRelationship.isServiceMethodOfService(
|
||||||
,entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"POST /api/v2/favorites/~",
|
~"btc-destination-composite-service - PROD~"
|
||||||
~"POST /api/v3/favorites/~",
|
)
|
||||||
~"GET /api/v2/favorites/~",
|
|
||||||
~"GET /api/v3/favorites/~",
|
|
||||||
~"GET /api/v1/favorites~",
|
|
||||||
~"PUT /api/v2/favorites/<favoriteId>~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~",
|
|
||||||
~"PUT /api/v2/favorites/homework/1~",
|
|
||||||
~"PUT /api/v2/favorites/homework/2~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"POST /api/v2/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"GET /api/v2/favorites/~",
|
||||||
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"GET /api/v1/favorites~",
|
||||||
|
~"PUT /api/v2/favorites/<favoriteId>~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~",
|
||||||
|
~"PUT /api/v2/favorites/homework/1~",
|
||||||
|
~"PUT /api/v2/favorites/homework/2~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Mobile_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Mobile_RSU"
|
||||||
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v2/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v2/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v2/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v2/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v2/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v2/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,65 +4,32 @@ module TP_Mobile_Remote360 {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Remote360"
|
name = "TP_Mobile_Remote360"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"remote-360-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
,entityName.in(
|
||||||
"type(service_method),
|
~"GET /api/v1/events/[UUID]~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"POST /api/v1/event/execute~",
|
||||||
~"remote-360-composite-service - PROD~"
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
)
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
)
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
,entityName.in(
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
~"GET /api/v1/events/[UUID]~",
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
)"))))):splitBy())
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
EOT
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"remote-360-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/events/[UUID]~",
|
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,69 +4,46 @@ module TP_Mobile_RemoteServices {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_RemoteServices"
|
name = "TP_Mobile_RemoteServices"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
,entityName.in(
|
||||||
"type(service_method),
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
)
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
)
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
,entityName.in(
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
~"POST /api/v2/presentation/remote-commands/eventPosition~",
|
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~"
|
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
||||||
)")
|
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
|
||||||
)
|
~"POST /api/v2/presentation/remote-commands/eventPosition~",
|
||||||
))):splitBy())
|
~"POST /api/v3/presentation/remote-commands/eventPosition~",
|
||||||
/
|
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"POST /api/v2/presentation/remote-commands/eventStatus~"
|
||||||
and(
|
)"))))):splitBy())
|
||||||
or(
|
|
||||||
in(
|
EOT
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/eventPosition~",
|
|
||||||
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
|
||||||
~"POST /api/v2/presentation/remote-commands/eventStatus~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,43 +4,27 @@ module TP_Mobile_Send2VehicleLegacy {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Send2VehicleLegacy"
|
name = "TP_Mobile_Send2VehicleLegacy"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service",
|
||||||
((builtin:service.errors.server.successCount:filter(
|
entitySelector("type(service),
|
||||||
and(
|
entityName.in(
|
||||||
or(
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service",
|
"))))):splitBy())
|
||||||
entitySelector("type(service),
|
/
|
||||||
entityName.in(
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
entityName.in(
|
||||||
)
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
")
|
)
|
||||||
)
|
"))))):splitBy()))
|
||||||
)
|
EOT
|
||||||
)):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.requestCount.total:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service",
|
|
||||||
entitySelector("type(service),
|
|
||||||
entityName.in(
|
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
|
||||||
)
|
|
||||||
")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,53 +4,36 @@ module TP_Mobile_Send2VehicleMGU {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_Send2VehicleMGU"
|
name = "TP_Mobile_Send2VehicleMGU"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TripService - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v2/motorist/[UUID]/trips~",
|
|
||||||
~"/v3/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
and(
|
)"))))):splitBy())
|
||||||
or(
|
/
|
||||||
in(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"dt.entity.service_method",
|
fromRelationship.isServiceMethodOfService(
|
||||||
entitySelector(
|
type(~"SERVICE~"),entityName.in(
|
||||||
"type(service_method),
|
~"TripService - PROD~"
|
||||||
fromRelationship.isServiceMethodOfService(
|
)
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v2/motorist/[UUID]/trips~",
|
|
||||||
~"/v3/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,55 +4,27 @@ module TP_Mobile_VehicleData {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_VehicleData"
|
name = "TP_Mobile_VehicleData"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
~"btc-vehicle-composite-service - PROD~",
|
||||||
~"VehicleService - PROD~"
|
~"VehicleService - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
~"GET /api/v1/vehicles/<VIN>/state~",
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
~"GET /v1/vehicle/<VIN>~",
|
||||||
)")
|
~"GET /v2/vehicle/<VIN>~"
|
||||||
)
|
)")))):splitBy())
|
||||||
))):splitBy())
|
EOT
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
|
||||||
~"VehicleService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
|
|
||||||
name = "TP_Mobile_VehicleList"
|
name = "TP_Mobile_VehicleList"
|
||||||
description = "2.0 SLO Mobile"
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
#entity selector object
|
#entity selector object
|
||||||
|
|
@ -12,42 +12,29 @@ module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
entitySelector("type(service_method),
|
||||||
and(
|
fromRelationship.isServiceMethodOfService(
|
||||||
or(
|
type(~"SERVICE~"),entityName.in(
|
||||||
in(
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
)
|
||||||
"type(service_method),
|
,entityName.in(
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"GET /api/v2/vehicles~",
|
||||||
type(~"SERVICE~"),entityName.in
|
~"GET /api/v4/vehicles~"
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
)"))))):splitBy())
|
||||||
)
|
/
|
||||||
,entityName.in(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",
|
||||||
~"GET /api/v1/vehicles~",
|
entitySelector("type(service_method),
|
||||||
~"GET /api/v2/vehicles~"
|
fromRelationship.isServiceMethodOfService(
|
||||||
)")
|
type(~"SERVICE~"),entityName.in(
|
||||||
)
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
))):splitBy())
|
)
|
||||||
/
|
)
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
,entityName.in(
|
||||||
and(
|
~"GET /api/v2/vehicles~",
|
||||||
or(
|
~"GET /api/v4/vehicles~"
|
||||||
in(
|
)"))))):splitBy()))
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in
|
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles~",
|
|
||||||
~"GET /api/v2/vehicles~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
module TP_NEW_NAME_nocheinmal {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_NEW NAME nocheinmal"
|
||||||
|
|
||||||
|
description = "qx05588 Ulrich Blecha"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = "type(\"SERVICE_METHOD\")"
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = "(100)-(builtin:service.keyRequest.errors.server.rate:filter(and(in(\"dt.entity.service_method\",entitySelector(\"type(service_method),entityId(~\"SERVICE_METHOD-A77E2B0BA1B488DB~\")\")))):splitBy():avg:auto)"
|
||||||
|
|
||||||
|
|
||||||
|
#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 = 90
|
||||||
|
#if not set(removed) it's defaulted to 98
|
||||||
|
warning = 95
|
||||||
|
#if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
module TP_Vehicle_Alexa {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Alexa"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
# The metric fivexx.rate shouldn't be changed to server side error metric. Reason is there is a global rule to exclude 502 errors from server side errors.
|
||||||
|
# However 502 errors should be included in the Alexa endpoint.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/keywords~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
module TP_Vehicle_AppDistribution {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_AppDistribution"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"AppsServiceV1 - id5-app - prod~",
|
||||||
|
~"AppVersionsResource - app-distribution - prod~",
|
||||||
|
~"ReleaseNotesResource - app-distribution - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getActiveVersionsForApp~",
|
||||||
|
~"getReleaseNotes~",
|
||||||
|
~"getAppV2~",
|
||||||
|
~"getAppListV2~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Vehicle_CD_Store {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_CD_Store"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"StoreOfferResourceV6 - am-store - prod~",
|
||||||
|
~"StoreResourceV4 - am-store - prod~",
|
||||||
|
~"CdStoreOfferResource - am-store - prod~",
|
||||||
|
~"StoreOfferResourceV7 - am-store - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getOffersAndPortfolio~",
|
||||||
|
~"bookedAndBookableCDServices~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
module TP_Vehicle_ConnectedMusic {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_ConnectedMusic"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100) - (builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName(
|
||||||
|
~"SpotifyApi - avs - prod~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Vehicle_FTS {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_FTS"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Draft"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"SimplePOIs~",
|
||||||
|
~"POIs~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getSimplePOIs (FTS Calls)~",
|
||||||
|
~"getPOIs (FTS Calls)~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
module TP_Vehicle_Login {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Login"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"TokenResource - cac - prod~",
|
||||||
|
~"CredentialInfoResource - cac - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST authorize password~",
|
||||||
|
~"POST authorize device_code~",
|
||||||
|
~"validateUser~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TokenResource - cac - prod~",
|
||||||
|
~"CredentialInfoResource - cac - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST authorize password~",
|
||||||
|
~"POST authorize device_code~",
|
||||||
|
~"validateUser~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Vehicle_Personalization {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Personalization"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"Perseus (/service) - cub-personalization - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"GET /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"PUT /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"createAssociationForGcidAndVin~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"Perseus (/service) - cub-personalization - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"GET /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"PUT /service/api/vehicle/v1/gcid/[UUID]/vin/<VIN>/pds~",
|
||||||
|
~"createAssociationForGcidAndVin~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Vehicle_Podcast {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Podcast"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"UserApi - ccis - prod~",
|
||||||
|
~"EpisodeApi - ccis - prod~",
|
||||||
|
~"DownloadApi - ccis - prod~",
|
||||||
|
~"CategoryApi - ccis - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"getUser~",
|
||||||
|
~"createUser~",
|
||||||
|
~"deleteUser~",
|
||||||
|
~"getFlashEpisode~",
|
||||||
|
~"getEpisodes~",
|
||||||
|
~"download~",
|
||||||
|
~"getUserCategories~",
|
||||||
|
~"muteCategories~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
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 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 - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
|
||||||
|
~"VpsJoynrApi - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - noptrigger - prod~",
|
||||||
|
~"ProvisioningService - nopprov - prod~",
|
||||||
|
~"NOP-Provisioning (/nop-prov) - nopprov - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"vpsObtainProvisioningSync~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_INTERNAL~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_IN~",
|
||||||
|
~"Queue: B2VPROD.BMW.CASA_EMEA.NOP_OUT~",
|
||||||
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
|
||||||
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.NOP_TRIGGER_INTERNAL~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.NOP_TRIGGER_IN~",
|
||||||
|
~"getNOPProvisioningDataForVehicle~",
|
||||||
|
~"getNOPProvisioningDataForVehicleBase64~",
|
||||||
|
~"acknowledgeNOPProvisioningDownload~",
|
||||||
|
~"/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 - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
|
||||||
|
~"VpsJoynrApi - vps-prov - prod~",
|
||||||
|
~"MQSession$FacadeMessageListener - noptrigger - prod~",
|
||||||
|
~"ProvisioningService - nopprov - prod~",
|
||||||
|
~"NOP-Provisioning (/nop-prov) - nopprov - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"vpsObtainProvisioningSync~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_INTERNAL~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_IN~",
|
||||||
|
~"Queue: B2VPROD.BMW.CASA_EMEA.NOP_OUT~",
|
||||||
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
|
||||||
|
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.NOP_TRIGGER_INTERNAL~",
|
||||||
|
~"Queue: B2VPROD.BMW.B2V.NOP_TRIGGER_IN~",
|
||||||
|
~"getNOPProvisioningDataForVehicle~",
|
||||||
|
~"getNOPProvisioningDataForVehicleBase64~",
|
||||||
|
~"acknowledgeNOPProvisioningDownload~",
|
||||||
|
~"/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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
module TP_Vehicle_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RSU"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
module TP_Vehicle_RTTI {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RTTI"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.equals(
|
||||||
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
module TP_Vehicle_Speech {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Speech"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
# Error Code 502 in HVD service will be excluded from the SLO.
|
||||||
|
# Therefore the metric server side errors was used for calculation.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.server.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~",
|
||||||
|
~"server (/htts) - htts - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/speech~",
|
||||||
|
~"/htts/transcribe~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
module TP_Vehicle_Teleservices {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_Teleservices"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.errors.total.rate:filter(and(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.in(
|
||||||
|
~"ifs-001 (Kinesis) CCM - teleservices - prod~",
|
||||||
|
~"ifs-001 (Kinesis) TyreWsIncoming - IN - teleservices - prod~",
|
||||||
|
~"ifs-001 (Kinesis) TyreDiIncoming - IN - teleservices - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerPdmContainerUpdate/notifyPdmContainerStatus - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerWhitelistUpdate/notifyWhitelistStatus - IN/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-003 (JOYNR) triggerStandardOdfUpdate/notifyOdfStatus - IN/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-003 (JOYNR) start/stop/notifyTemporaryOdfStatus - INT/OUT - wlupdater - prod~",
|
||||||
|
~"ifs-007 (JOYNR) requestPdmResult/notifyPdmResult - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-002 (JOYNR) request/notifyKeyData - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-002 (JOYNR) notifyRSUStatus - IN - teleservices - prod~",
|
||||||
|
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) notifyMaintenanceStatus - IN - prod~",
|
||||||
|
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) requestMaintenanceStatus/confirmMaintenanceStatus - OUT - prod~",
|
||||||
|
~"ifs-005 (JOYNR) notify/confirmBatteryStatus - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-007 (JOYNR) requestDiagResult/notifyDiagResult - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-005 (SQS) TscsCallTopic - IN - teleservices - prod~",
|
||||||
|
~"ifs-006 (SQS) TsddCallTopic - IN - teleservices - prod~",
|
||||||
|
~"ifs-010 (SQS) RtcadCallTopic - IN - teleservices - prod~",
|
||||||
|
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~",
|
||||||
|
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~",
|
||||||
|
~"ifs-003 (MQS) MguItsnIn/Out (ClassificationRequest/Response) - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-003 (MQS) MguItsnIn/Out (DiagnosisRequest/Response) - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-005 (MQS) BCallHandlerIstaIn/Out - IN/OUT - teleservices - prod~",
|
||||||
|
~"ifs-001 (SQS) BCallIn/Out - IN/OUT - teleservices - prod~",
|
||||||
|
~"VDLM_ts-asc - ifs-001 (SQS) AscIn/Out - IN/OUT - prod~",
|
||||||
|
~"InternalApiResourceV2 - teleservices - prod~",
|
||||||
|
~"VDLM_rtchandler - ifs-010 (SQS) RtcTeleXIn/Out - IN/OUT - prod~",
|
||||||
|
~"ckf.bmwgroup.net~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
module TP_Vehicle_eCall {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_eCall"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"VoiceV2Resource - ngtp-cs - prod~",
|
||||||
|
~"CallRoutingResource - crs - prod~",
|
||||||
|
~"NgtpUplinkEventResource - ngtp-cs - prod~",
|
||||||
|
~"NgtpApiController - base - prod~",
|
||||||
|
~"ISmsGatewayBF - ecs - prod~",
|
||||||
|
~"EcsApiController - base - prod~",
|
||||||
|
~"VehicleCalledNumberV2BF - ecs - prod~",
|
||||||
|
~"VehicleVinV2BF - ecs - prod~",
|
||||||
|
~"ECS - CreateEvent - E2E - ecs - prod~",
|
||||||
|
~"V1Api - PROD~",
|
||||||
|
~"CallMgmtApiResourceV1 - b2vvoice - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"voiceInitatedCallSync_ECALL~",
|
||||||
|
~"callReceived~",
|
||||||
|
~"getRoutingData_ECALL~",
|
||||||
|
~"notifyCsMessage~",
|
||||||
|
~"NotifyCallEventCreatedCall_ECALL~",
|
||||||
|
~"JoynrEventOperations~",
|
||||||
|
~"message~",
|
||||||
|
~"setupCall_ECALL~",
|
||||||
|
~"ecsEventReceived~",
|
||||||
|
~"createEventByCallednumber~",
|
||||||
|
~"createEventByvin~",
|
||||||
|
~"routeCall~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module TP_Vehicle_eRoute {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_eRoute"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~",
|
||||||
|
~"Netty on 0.0.0.0:8080 - eroute-adapter - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/api/eu/2.5/eroute/protobuf3~",
|
||||||
|
~"/api/eu/2.5/eroute-costs/protobuf3~",
|
||||||
|
~"/route/eroute~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,95 @@
|
||||||
|
module TP_Vehicle_eSIM {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_eSIM"
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#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(
|
||||||
|
~"api.bmwgroup.com - PROD~",
|
||||||
|
~"MnoApiImpl - cesim - prod~"))
|
||||||
|
,entityName.in(
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/countries~",
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/redirect-urls/[mno_id]~",
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/[country_code]~",
|
||||||
|
~"/am-cesim/csim-info/v1/csims/subscriptions~",
|
||||||
|
~"/am-cesim/csim-info/v1/csims/profiles~",
|
||||||
|
~"/am-cesim/management/v1/subscriptions/invalidate~",
|
||||||
|
~"/am-cesim/management/v1/profiles/[iccid]~",
|
||||||
|
~"sendMnoToken~",
|
||||||
|
~"submitActivationCode~",
|
||||||
|
~"notifyMnoTokenInvalid~")"))))):splitBy())
|
||||||
|
+ (builtin:service.keyRequest.errors.fivexx.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"docomo-ccar.com~",
|
||||||
|
~"b2b-secproxy.telekom.de~",
|
||||||
|
~"eu2.api.vodafone.com~",
|
||||||
|
~"api.swisscom.com~"))
|
||||||
|
,entityName.in(
|
||||||
|
~"https://docomo-ccar.com/api/activation-code-requests/[UUID]~",
|
||||||
|
~"https://docomo-ccar.com/api/statuses/[UUID]~",
|
||||||
|
~"https://docomo-ccar.com/api/users/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/activation-code-requests/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/statuses/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/users/[UUID]~",
|
||||||
|
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/activation-code-requests/[UUID]~",
|
||||||
|
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/users/[UUID]~",
|
||||||
|
~"https://api.swisscom.com/layer/bmw-mno/prod/activation-code-requests/[UUID]~",
|
||||||
|
~"https://api.swisscom.com/layer/bmw-mno/prod/users/[UUID]~")"))))):splitBy()))
|
||||||
|
/ ((builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"api.bmwgroup.com - PROD~",
|
||||||
|
~"MnoApiImpl - cesim - prod~"))
|
||||||
|
,entityName.in(
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/countries~",
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/redirect-urls/[mno_id]~",
|
||||||
|
~"/am-cesim/mno-info/v1/mnos/premium/[country_code]~",
|
||||||
|
~"/am-cesim/csim-info/v1/csims/subscriptions~",
|
||||||
|
~"/am-cesim/csim-info/v1/csims/profiles~",
|
||||||
|
~"/am-cesim/management/v1/subscriptions/invalidate~",
|
||||||
|
~"/am-cesim/management/v1/profiles/[iccid]~",
|
||||||
|
~"sendMnoToken~",
|
||||||
|
~"submitActivationCode~",
|
||||||
|
~"notifyMnoTokenInvalid~")"))))):splitBy())
|
||||||
|
+ (builtin:service.keyRequest.count.total:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"docomo-ccar.com~",
|
||||||
|
~"b2b-secproxy.telekom.de~",
|
||||||
|
~"eu2.api.vodafone.com~",
|
||||||
|
~"api.swisscom.com~"))
|
||||||
|
,entityName.in(
|
||||||
|
~"https://docomo-ccar.com/api/activation-code-requests/[UUID]~",
|
||||||
|
~"https://docomo-ccar.com/api/statuses/[UUID]~",
|
||||||
|
~"https://docomo-ccar.com/api/users/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/activation-code-requests/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/statuses/[UUID]~",
|
||||||
|
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/users/[UUID]~",
|
||||||
|
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/activation-code-requests/[UUID]~",
|
||||||
|
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/users/[UUID]~",
|
||||||
|
~"https://api.swisscom.com/layer/bmw-mno/prod/activation-code-requests/[UUID]~",
|
||||||
|
~"https://api.swisscom.com/layer/bmw-mno/prod/users/[UUID]~" )"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
module TP_Vehicle_xCall {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_xCall"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"VoiceV2Resource - ngtp-cs - prod~",
|
||||||
|
~"CallRoutingResource - crs - prod~",
|
||||||
|
~"NgtpUplinkEventResource - ngtp-cs - prod~",
|
||||||
|
~"NgtpApiController - base - prod~",
|
||||||
|
~"ECS - CreateEvent - E2E - ecs - prod~",
|
||||||
|
~"V1Api - PROD~",
|
||||||
|
~"XcsApiController - base - prod~",
|
||||||
|
~"XCS - JOYNR - xcs - prod~",
|
||||||
|
~"CallMgmtApiResourceV1 - b2vvoice - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"voiceInitatedCallSync_XCALL~",
|
||||||
|
~"callReceived~",
|
||||||
|
~"getRoutingData_XCALL~",
|
||||||
|
~"notifyCsMessage~",
|
||||||
|
~"NotifyCallEventCreatedCall_XCALL~",
|
||||||
|
~"JoynrEventOperations~",
|
||||||
|
~"setupCall_XCALL~",
|
||||||
|
~"$Proxy.notifyXCall~",
|
||||||
|
~"$Proxy.terminateXCallFromVehicle~",
|
||||||
|
~"routeCall~",
|
||||||
|
~"xcsEventReceived~"
|
||||||
|
)")))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -15,15 +15,10 @@ module Wirkkette__RTTI-Service__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
entityName.equals(
|
|
||||||
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
|
||||||
)"))))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
|
||||||
entityName.equals(
|
entityName.equals(
|
||||||
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
~"Netty on 0.0.0.0:8080 - rtti - prod~"
|
||||||
)"))))):splitBy()))
|
)"))))):splitBy())
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
|
||||||
|
|
@ -15,22 +15,35 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"btc-destination-composite-service - PROD~"
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"POST /api/v2/favorites/~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
~"POST /api/v3/favorites/~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
~"GET /api/v2/favorites/~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"GET /api/v3/favorites/~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
~"GET /api/v1/favorites~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"PUT /api/v2/favorites/<favoriteId>~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~",
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"PUT /api/v2/favorites/homework/1~",
|
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
~"PUT /api/v2/favorites/homework/2~"
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventPosition~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/eventPosition~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~"
|
||||||
)"))))):splitBy())
|
)"))))):splitBy())
|
||||||
|
|
||||||
EOT
|
EOT
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_DigitalKey"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TrackApi - smc - PROD~",
|
||||||
|
~"digital-key-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"TrackApi - smc - PROD~",
|
||||||
|
~"digital-key-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
module TP_Mobile_Login {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Login"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
|
~"POST /api/v2/cop/login/pwd~",
|
||||||
|
~"POST /api/v2/cop/login/sms~",
|
||||||
|
~"POST /api/v2/cop/sso~",
|
||||||
|
~"GET /api/v1/cop/logout~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
|
~"POST /api/v2/cop/login/pwd~",
|
||||||
|
~"POST /api/v2/cop/login/sms~",
|
||||||
|
~"POST /api/v2/cop/sso~",
|
||||||
|
~"GET /api/v1/cop/logout~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
module TP_Mobile_Mapping {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Mapping"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"vehicle-mapping-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
|
~"DELETE /api/v1/vehicles/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-user-composite-service - PROD~",
|
||||||
|
~"vehicle-mapping-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v2/presentation/users/validate~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary~",
|
||||||
|
~"POST /api/v2/vehicles/<VIN>/primary/map~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
|
||||||
|
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
|
||||||
|
~"DELETE /api/v1/vehicles/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
module TP_Mobile_PersonalFavorites {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_PersonalFavorites"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-destination-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-destination-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
module TP_Mobile_Remote360 {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Remote360"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"remote-360-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/events/[UUID]~",
|
||||||
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
|
~"POST /api/v1/event/execute~",
|
||||||
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"remote-360-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"GET /api/v1/events/[UUID]~",
|
||||||
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
|
~"POST /api/v1/event/execute~",
|
||||||
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
module TP_Mobile_RemoteServices {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_RemoteServices"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# 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(
|
||||||
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
|
)
|
||||||
|
),entityName.in(
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
module TP_Mobile_Send2VehicleLegacy {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
name = "TP_Mobile_Send2VehicleLegacy"
|
||||||
|
|
||||||
|
description = "2.0 SLO Mobile"
|
||||||
|
|
||||||
|
# entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
# metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((:filter(and(or(in("dt.entity.service",entitySelector("type(service),entityName.in(
|
||||||
|
~"~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
|
entityName.in(
|
||||||
|
~"~"
|
||||||
|
)"))))):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
|
||||||
|
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue