diff --git a/EMEA_PROD/slo/TP_Mobile_DigitalKey.tf b/EMEA_PROD/slo/TP_Mobile_DigitalKey.tf new file mode 100644 index 0000000..e880654 --- /dev/null +++ b/EMEA_PROD/slo/TP_Mobile_DigitalKey.tf @@ -0,0 +1,49 @@ +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.rate:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"TrackApi~", + ~"digital-key-composite-service~" + ) + ) + ,entityName.in( + ~"POST /smc2-bl/track/v2/trackKey~", + ~"POST /smc2-bl/track/v2/manageKey~", + ~"GET /api/v1/digitalkey//password~", + ~"GET /api/v1/digitalkey//pairing~" + )") + ) +))):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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/TP_Mobile_Login.tf b/EMEA_PROD/slo/TP_Mobile_Login.tf index 8ec155e..6a737a1 100644 --- a/EMEA_PROD/slo/TP_Mobile_Login.tf +++ b/EMEA_PROD/slo/TP_Mobile_Login.tf @@ -14,22 +14,24 @@ module TP_Mobile_Login { 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 - (~"btc-user-composite-service - PROD~") - ) - ,entityName.in( - ~"GET /api/v1/presentation/oauth/config~", - ~"GET /api/v1/presentation/profile-tab~", - ~"POST /api/v1/oauth/token/identifier~" - )") - ) + 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():sum:auto:sort(value(sum,descending)))" EOT diff --git a/EMEA_PROD/slo/TP_Mobile_Mapping.tf b/EMEA_PROD/slo/TP_Mobile_Mapping.tf index e98c7bb..44a67ba 100644 --- a/EMEA_PROD/slo/TP_Mobile_Mapping.tf +++ b/EMEA_PROD/slo/TP_Mobile_Mapping.tf @@ -14,16 +14,27 @@ module TP_Mobile_Mapping { 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(~"vehicle-mapping-composite-service - PROD~") - ) - ") - ) + 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//primary~", + ~"POST /api/v2/vehicles//primary/map~", + ~"POST /api/v1/vehicles//validate-security-code~", + ~"POST /api/v1/vehicles//resend-security-code~", + ~"DELETE /api/v1/vehicles/~" + )") + ) ))):splitBy():auto:auto:sort(value(sum,descending)))" EOT diff --git a/EMEA_PROD/slo/TP_Mobile_PersonalFavorites.tf b/EMEA_PROD/slo/TP_Mobile_PersonalFavorites.tf index 244a2a4..2be711c 100644 --- a/EMEA_PROD/slo/TP_Mobile_PersonalFavorites.tf +++ b/EMEA_PROD/slo/TP_Mobile_PersonalFavorites.tf @@ -21,8 +21,9 @@ module TP_Mobile_PersonalFavorites { entitySelector( "type(service_method), fromRelationship.isServiceMethodOfService( - type(~"SERVICE~"),entityName.in - (~"btc-destination-composite-service~") + type(~"SERVICE~"),entityName.in( + ~"btc-destination-composite-service~" + ) ) ,entityName.in( ~"POST /api/v2/favorites~", diff --git a/EMEA_PROD/slo/TP_Mobile_Remote360.tf b/EMEA_PROD/slo/TP_Mobile_Remote360.tf index 83ad794..7823a09 100644 --- a/EMEA_PROD/slo/TP_Mobile_Remote360.tf +++ b/EMEA_PROD/slo/TP_Mobile_Remote360.tf @@ -21,8 +21,9 @@ module TP_Mobile_Remote360 { entitySelector( "type(service_method), fromRelationship.isServiceMethodOfService( - type(~"SERVICE~"),entityName.in - (~"remote-360-composite-service~") + type(~"SERVICE~"),entityName.in( + ~"remote-360-composite-service~" + ) ) ,entityName.in( ~"GET /eadrax-r360/v1/events/$eventId~", diff --git a/EMEA_PROD/slo/TP_Mobile_RemoteServices.tf b/EMEA_PROD/slo/TP_Mobile_RemoteServices.tf index 4a911a6..7d8a98b 100644 --- a/EMEA_PROD/slo/TP_Mobile_RemoteServices.tf +++ b/EMEA_PROD/slo/TP_Mobile_RemoteServices.tf @@ -21,15 +21,16 @@ module TP_Mobile_RemoteServices { entitySelector( "type(service_method), fromRelationship.isServiceMethodOfService( - type(~"SERVICE~"),entityName.in - (~"btc-vehicle-remote-commands-composite-service~") + type(~"SERVICE~"),entityName.in( + ~"btc-vehicle-remote-commands-composite-service~" + ) ) ,entityName.in( ~"POST /api/v2/presentation/remote-commands//door-lock~", ~"POST /api/v2/presentation/remote-commands//door-unlock~", ~"POST /api/v2/presentation/remote-commands//climate-now~", ~"POST /api/v2/presentation/remote-commands//vehicle-finder~", - ~"POST /presentation/remote-commands//climate-timer~", + ~"POST /api/v2/presentation/remote-commands//climate-timer~", ~"POST /api/v2/presentation/remote-commands//light-flash~", ~"POST /api/v2/presentation/remote-commands//charging-profile~", ~"GET /api/v2/presentation/remote-commands/eventPosition~", diff --git a/EMEA_PROD/slo/TP_Mobile_Send2VehicleLegacy.tf b/EMEA_PROD/slo/TP_Mobile_Send2VehicleLegacy.tf index de9bcb1..31a73ad 100644 --- a/EMEA_PROD/slo/TP_Mobile_Send2VehicleLegacy.tf +++ b/EMEA_PROD/slo/TP_Mobile_Send2VehicleLegacy.tf @@ -20,7 +20,9 @@ module TP_Mobile_Send2VehicleLegacy { "dt.entity.service_method", entitySelector("type(service_method), fromRelationship.isServiceMethodOfService( - type(~"SERVICE~"),entityName(~"LegacyPoiApi - msgsvc - prod~") + type(~"SERVICE~"),entityName( + ~"LegacyPoiApi - msgsvc - prod~" + ) ) ") ) diff --git a/EMEA_PROD/slo/TP_Mobile_Send2VehicleMGU.tf b/EMEA_PROD/slo/TP_Mobile_Send2VehicleMGU.tf index c10cdd5..dbd9bf2 100644 --- a/EMEA_PROD/slo/TP_Mobile_Send2VehicleMGU.tf +++ b/EMEA_PROD/slo/TP_Mobile_Send2VehicleMGU.tf @@ -21,8 +21,9 @@ module TP_Mobile_Send2VehicleMGU { entitySelector( "type(service_method), fromRelationship.isServiceMethodOfService( - type(~"SERVICE~"),entityName.in - (~"TripService~") + type(~"SERVICE~"),entityName.in( + ~"TripService~" + ) ) ,entityName.in( ~"/v2/motorist/[UUID]/trips", diff --git a/EMEA_PROD/slo/TP_Mobile_VehicleData.tf b/EMEA_PROD/slo/TP_Mobile_VehicleData.tf index 31d1ce9..a070262 100644 --- a/EMEA_PROD/slo/TP_Mobile_VehicleData.tf +++ b/EMEA_PROD/slo/TP_Mobile_VehicleData.tf @@ -14,16 +14,23 @@ module TP_Mobile_VehicleData { 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(~"VehicleService - PROD~") - ) - ") - ) + 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//state~", + ~"GET /v1/vehicle/~" + )") + ) ))):splitBy():auto:auto:sort(value(sum,descending)))" EOT diff --git a/EMEA_PROD/slo/TP_Mobile_VehicleList.tf b/EMEA_PROD/slo/TP_Mobile_VehicleList.tf index 8f53f92..4674716 100644 --- a/EMEA_PROD/slo/TP_Mobile_VehicleList.tf +++ b/EMEA_PROD/slo/TP_Mobile_VehicleList.tf @@ -14,16 +14,20 @@ module TP_Mobile_VehicleList { 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(~"btc-vehicle-composite-service - PROD~") - ) - ") - ) + 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():auto:auto:sort(value(sum,descending)))" EOT