Compare commits

..

7 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
84 changed files with 1941 additions and 275 deletions

View File

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

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

View File

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

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

View File

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

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,66 +12,34 @@ 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(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
#if not set (removed) it's defaulted to "-1d"

View File

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

View File

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

View File

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

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

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution"
description = "CoCo QM-Report_Vehicle"
description = "CoCo-QM-Report_Vehicle"

View File

@ -4,7 +4,7 @@ module TP_Vehicle_FTS {
name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Draft"
description = "CoCo-QM-Report_Vehicle"
#entity selector object
filter = ""

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

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

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

View File

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

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

View File

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

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
@ -38,7 +38,9 @@ module TP_Mobile_RemoteServices {
~"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/eventPosition~",
~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/eventStatus~"
)"))))):splitBy())
EOT

View File

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

View File

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

View File

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

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

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution"
description = "CoCo QM-Report_Vehicle"
description = "CoCo-QM-Report_Vehicle"

View File

@ -12,74 +12,36 @@ module TP_Vehicle_Teleservices {
#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())))
(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"

View File

@ -5,7 +5,7 @@ module TP_Vehicle_eRoute {
name = "TP_Vehicle_eRoute"
description = "CoCo QM-Report_Vehicle"
description = "CoCo-QM-Report_Vehicle"

View File

@ -22,17 +22,28 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"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>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"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/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/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
}

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

@ -0,0 +1,37 @@
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(or(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

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -4,10 +4,6 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(SYNTHETIC_TEST),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

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

View File

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

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

View File

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

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
@ -38,7 +38,9 @@ module TP_Mobile_RemoteServices {
~"POST /api/v3/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~"
~"GET /api/v3/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/eventStatus~"
)"))))):splitBy())
EOT

View File

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

View File

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

View File

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

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

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution"
description = "CoCo QM-Report_Vehicle"
description = "CoCo-QM-Report_Vehicle"

View File

@ -5,7 +5,7 @@ module TP_Vehicle_FTS {
name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Draft"
description = "CoCo-QM-Report_Vehicle"

View File

@ -16,24 +16,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),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
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>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"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>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~",
)"))))):splitBy())
,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>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
~"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>/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>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"POST /api/v3/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~",
~"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
}

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

@ -0,0 +1,37 @@
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(or(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
}