Compare commits

..

30 Commits

Author SHA1 Message Date
BMW CICD Tool 63a0fd3ac7 230309-1459 2023-03-09 14:59:16 +00:00
Ermis Wieger (ext.) ec4671c5c9 Pull request #86: TP_Vehicle_Teleservices_fix
Merge in OPAPM/coco_terraform_config from renaming_3537 to master

* commit 'ea5b2b3eea4b9f90d8f44124c6e29f4b45f790cd':
  TP_Vehicle_Teleservices_fix
2023-03-07 13:30:40 +00:00
Ermis Wieger (ext.) 128e736e75 Pull request #85: Renaming description
Merge in OPAPM/coco_terraform_config from renaming_description to master

* commit '9a82ac4c98c201ed5f2bc64f56edbdf0d7ad3463':
  SLO renaming description EMEA / NA
  SLO_renaming_description
2023-03-07 13:22:32 +00:00
SLW\KASIKD 9a82ac4c98 SLO renaming description EMEA / NA 2023-03-07 09:58:54 +01:00
SLW\KASIKD 6d9ed17082 SLO_renaming_description 2023-03-07 09:43:00 +01:00
Mohammed Abadel 2a81d01ec1 Adjusting SLOs for Remote Services 2023-03-06 14:58:19 +01:00
SLW\KASIKD ea5b2b3eea TP_Vehicle_Teleservices_fix 2023-03-03 15:17:18 +01:00
Doris Ruppert (ext.) 506b5eca49 Pull request #84: OPMAAS-3397 changes applied to all environments
Merge in OPAPM/coco_terraform_config from OPMAAS-3500-2 to master

* commit '80350c08e50d9d00044dbc90ae2af863ddbe54e8':
  OPMAAS-3397 changes applied to all environments
2023-03-02 09:58:14 +00:00
Doris Ruppert 80350c08e5 OPMAAS-3397 changes applied to all environments 2023-03-02 10:19:49 +01:00
Doris Ruppert (ext.) db2801978e Pull request #83: OPMAAS-3500 adjusted compass id again
Merge in OPAPM/coco_terraform_config from OPMAAS-3500-2 to master

* commit '5e919dece218c6d3887a7a0b25f54f8b3b65c2f8':
  OPMAAS-3500 adjusted compass id again
2023-03-02 09:02:40 +00:00
Doris Ruppert 5e919dece2 OPMAAS-3500 adjusted compass id again 2023-03-01 17:52:48 +01:00
Mohammed Abadel 2f8d0e05f2 Adjusting SLOs for RTTI to use only one metric instead of two 2023-03-01 10:11:20 +01:00
Doris Ruppert (ext.) f9adc70020 Pull request #82: OPMAAS-3500 adjusted PD_ management zones
Merge in OPAPM/coco_terraform_config from OPMAAS-3500 to master

* commit '35af4363548064c24cc8dfa4dbb82fecaa363376':
  OPMAAS-3500 adjusted PD_ management zones
2023-02-28 10:38:38 +00:00
Doris Ruppert 35af436354 OPMAAS-3500 adjusted PD_ management zones 2023-02-28 11:26:29 +01:00
Mohammed Abadel 6f357e40bc Adjusting SLO for Remote Services to exclude v3 endpoints 2023-02-27 13:33:39 +01:00
Mohammed Abadel 44e840a0bc Merge branch 'master' of https://atc.bmwgroup.net/bitbucket/scm/opapm/coco_terraform_config 2023-02-27 09:58:36 +01:00
Mohammed Abadel 7e778f0b1c Adjusting SLOs for Remote Services in EMEA and NA 2023-02-24 14:03:47 +01:00
Diego Kasika (ext.) 4175e1fda7 Pull request #81: SLO_Vehicle_Login
Merge in OPAPM/coco_terraform_config from renaming2 to master

* commit 'bae919fc2fe1e3e85b09d0f8bc05da0009c02143':
  SLO_Vehicle_Login
2023-02-24 11:30:45 +00:00
SLW\KASIKD bae919fc2f SLO_Vehicle_Login 2023-02-24 12:22:44 +01:00
Doris Ruppert (ext.) 9dae6fd342 Pull request #80: OPMAAS-3397 added HTTP monitors to management zone PD_InfotainmentInteractivityServices
Merge in OPAPM/coco_terraform_config from OPMAAS-3397 to master

* commit 'f84495197f8a9fed86cbe263ba729c2bc7bb474a':
  OPMAAS-3397 added HTTP monitors to management zone PD_InfotainmentInteractivityServices
2023-02-23 14:59:09 +00:00
Doris Ruppert f84495197f OPMAAS-3397 added HTTP monitors to management zone PD_InfotainmentInteractivityServices 2023-02-23 15:04:38 +01:00
SLW\KASIKD 8dcd1b7443 TP_Mobile_Wirkketten_Anpassung_2 2023-02-23 12:25:40 +01:00
SLW\KASIKD d0bc0d1d9e TP_Mobile_Wirkketten_Anpassung 2023-02-23 12:19:54 +01:00
Diego Kasika (ext.) c21fb97ec6 Pull request #79: Added xCall / Speech Wirkketten SLO
Merge in OPAPM/coco_terraform_config from DK_FIX to master

* commit 'da7cf83eef2cf230a9ca98dfe77dc2893d3fa27f':
  Added xCall / Speech Wirkketten SLO
2023-02-23 10:13:19 +00:00
SLW\KASIKD da7cf83eef Added xCall / Speech Wirkketten SLO 2023-02-23 11:10:56 +01:00
ermisw 9310ca7e94 modul name fix 2023-02-22 10:56:21 +01:00
ermisw 4b66f9a8d7 modul name fix 2023-02-22 10:55:37 +01:00
Ermis Wieger (ext.) 92d32b8a3f Pull request #78: Renaming
Merge in OPAPM/coco_terraform_config from renaming to master

* commit '262f6fdc951e89151ef0a0496815e9fcadcb7ff3':
  SLO_Renaming_TP_1
  SLO_Renaming_1
  renaming
  testing renaming
2023-02-22 09:52:17 +00:00
SLW\KASIKD 262f6fdc95 SLO_Renaming_TP_1 2023-02-22 10:49:06 +01:00
SLW\KASIKD 3753db578d SLO_Renaming_1 2023-02-22 10:49:05 +01:00
158 changed files with 5640 additions and 1358 deletions

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule {
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 {
enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "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 {
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\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule {
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 = 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 {
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\")"
}
}

View File

@ -1,5 +1,9 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule {
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 {
enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "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 {
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\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule {
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 = 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 {
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\")"
}
}

View File

@ -1,5 +1,9 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -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
}

View File

@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
name = "TP_Mobile_DigitalKey"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -12,51 +12,34 @@ module TP_Mobile_DigitalKey {
#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(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
(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~"
)
)
))):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(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
,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~"
)
)
))):splitBy()))
EOT
,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"

View File

@ -4,67 +4,32 @@ module TP_Mobile_Login {
name = "TP_Mobile_Login"
description = "2.0 SLO Mobile"
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),
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(
~"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
,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~",
~"/api/v2/cop/login/pwd~",
~"/api/v2/cop/login/sms~",
~"/api/v2/cop/sso~",
~"/api/v2/cop/logout~"
)"))))):splitBy())
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
name = "TP_Mobile_Mapping"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object

View File

@ -4,55 +4,39 @@ module TP_Mobile_PersonalFavorites {
name = "TP_Mobile_PersonalFavorites"
description = "2.0 SLO Mobile"
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(
~"btc-destination-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v3/favorites~",
~"POST /api/v3/favorites~",
~"PUT /api/v3/favorites/<favoriteId>~"
)")
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~"
)
)
))):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>~"
)")
,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~"
)
)
))):splitBy()))
EOT
,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"

View File

@ -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
}

View File

@ -4,65 +4,32 @@ module TP_Mobile_Remote360 {
name = "TP_Mobile_Remote360"
description = "2.0 SLO Mobile"
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(
~"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
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(
~"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"

View File

@ -4,7 +4,7 @@ module TP_Mobile_RemoteServices {
name = "TP_Mobile_RemoteServices"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -12,61 +12,35 @@ module TP_Mobile_RemoteServices {
#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
(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(
~"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~",
~"POST /api/v3/presentation/remote-commands/eventPosition~"
)"))))):splitBy())
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,43 +4,27 @@ module TP_Mobile_Send2VehicleLegacy {
name = "TP_Mobile_Send2VehicleLegacy"
description = "2.0 SLO Mobile"
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.errors.server.successCount:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy())
/
(builtin:service.requestCount.total:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy()))
EOT
metric_expression = <<EOT
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
"))))):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"
timeframe = "-1d"

View File

@ -4,53 +4,36 @@ module TP_Mobile_Send2VehicleMGU {
name = "TP_Mobile_Send2VehicleMGU"
description = "2.0 SLO Mobile"
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(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)")
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~"
)
)
))):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~"
)")
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/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~"
)
)
))):splitBy()))
EOT
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,55 +4,28 @@ module TP_Mobile_VehicleData {
name = "TP_Mobile_VehicleData"
description = "2.0 SLO Mobile"
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(
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(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/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(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~",
~"GET /v2/vehicle/<VIN>~"
)")))):splitBy())
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
name = "TP_Mobile_VehicleList"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -12,40 +12,27 @@ module TP_Mobile_VehicleList {
#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()))
(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"

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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 = <<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(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT

View File

@ -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 = <<-EOT
(100)*
((builtin:service.keyRequest.errors.server.successCount: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())
/
(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()))
(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(
~"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~",
~"POST /api/v3/presentation/remote-commands/eventPosition~"
)"))))):splitBy())
EOT

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule {
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 {
enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "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 {
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\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule {
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 = 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 {
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\")"
}
}

View File

@ -1,5 +1,9 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -20,4 +24,8 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
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\")"
}
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\")"
}
}

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule {
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 {
enabled = true

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
}
entity_selector_based_rule {
enabled = true

View File

@ -1,35 +1,15 @@
resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule {
# enabled = false
selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
}
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\")"
enabled = true
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 = 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 {
enabled = true
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"
}
}
}
}

View File

@ -1,5 +1,9 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -20,4 +24,8 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
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\")"
}
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\")"
}
}

View File

@ -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
}

View File

@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
name = "TP_Mobile_DigitalKey"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -12,51 +12,34 @@ module TP_Mobile_DigitalKey {
#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(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
(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~"
)
)
))):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(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
,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~"
)
)
))):splitBy()))
EOT
,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"

View File

@ -4,57 +4,27 @@ module TP_Mobile_Login {
name = "TP_Mobile_Login"
description = "2.0 SLO Mobile"
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),
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(
~"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())
/
(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
,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"
timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
name = "TP_Mobile_Mapping"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -30,9 +30,15 @@ module TP_Mobile_Mapping {
~"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>~"
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"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())
@ -54,9 +60,15 @@ module TP_Mobile_Mapping {
~"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>~"
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"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()))

View File

@ -4,67 +4,51 @@ module TP_Mobile_PersonalFavorites {
name = "TP_Mobile_PersonalFavorites"
description = "2.0 SLO Mobile"
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(
~"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~"
)")
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~"
)
)
))):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(
~"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~"
)")
,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())
/
(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~"
)
)
))):splitBy()))
EOT
,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()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -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
}

View File

@ -4,65 +4,32 @@ module TP_Mobile_Remote360 {
name = "TP_Mobile_Remote360"
description = "2.0 SLO Mobile"
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(
~"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
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(
~"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"

View File

@ -4,69 +4,46 @@ module TP_Mobile_RemoteServices {
name = "TP_Mobile_RemoteServices"
description = "2.0 SLO Mobile"
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(
~"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())
/
(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/<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
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(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"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~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
~"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())
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,43 +4,27 @@ module TP_Mobile_Send2VehicleLegacy {
name = "TP_Mobile_Send2VehicleLegacy"
description = "2.0 SLO Mobile"
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.errors.server.successCount:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy())
/
(builtin:service.requestCount.total:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy()))
EOT
metric_expression = <<EOT
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
"))))):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"
timeframe = "-1d"

View File

@ -4,53 +4,36 @@ module TP_Mobile_Send2VehicleMGU {
name = "TP_Mobile_Send2VehicleMGU"
description = "2.0 SLO Mobile"
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(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
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~"
)
)
))):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(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/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~"
)
)
))):splitBy()))
EOT
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,55 +4,27 @@ module TP_Mobile_VehicleData {
name = "TP_Mobile_VehicleData"
description = "2.0 SLO Mobile"
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(
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(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/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(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~",
~"GET /v2/vehicle/<VIN>~"
)")))):splitBy())
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
name = "TP_Mobile_VehicleList"
description = "2.0 SLO Mobile"
description = "CoCo-QM-Report_Mobile"
#entity selector object
@ -12,42 +12,29 @@ module TP_Mobile_VehicleList {
#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~",
~"GET /api/v2/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~",
~"GET /api/v2/vehicles~"
)")
)
))):splitBy()))
(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/v2/vehicles~",
~"GET /api/v4/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/v2/vehicles~",
~"GET /api/v4/vehicles~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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 = <<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),
(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()))
)"))))):splitBy())
EOT
#if not set (removed) it's defaulted to "-1d"

View File

@ -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 = <<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(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
~"btc-vehicle-remote-commands-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~"
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"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~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
~"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())
EOT

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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