TP_Mobile_Wirkketten_Anpassung
parent
c21fb97ec6
commit
d0bc0d1d9e
|
|
@ -12,51 +12,34 @@ module TP_Mobile_DigitalKey {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TrackApi - smc - PROD~",
|
||||||
in(
|
~"digital-key-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TrackApi - smc - PROD~",
|
|
||||||
~"digital-key-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"trackKey~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"manageKey~",
|
||||||
and(
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
or(
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
in(
|
)"))))):splitBy())
|
||||||
"dt.entity.service_method",
|
/
|
||||||
entitySelector(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"type(service_method),
|
fromRelationship.isServiceMethodOfService(
|
||||||
fromRelationship.isServiceMethodOfService(
|
type(~"SERVICE~"),entityName.in(
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"TrackApi - smc - PROD~",
|
||||||
~"TrackApi - smc - PROD~",
|
~"digital-key-composite-service - PROD~"
|
||||||
~"digital-key-composite-service - PROD~"
|
)
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"POST /smc2-bl/track/v2/trackKey~",
|
|
||||||
~"POST /smc2-bl/track/v2/manageKey~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/password~",
|
|
||||||
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"trackKey~",
|
||||||
|
~"manageKey~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/password~",
|
||||||
|
~"GET /api/v1/digitalkey/<VIN>/pairing~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -11,60 +11,25 @@ module TP_Mobile_Login {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"btc-user-composite-service - PROD~",
|
~"btc-user-composite-service - PROD~",
|
||||||
~"btc-cn-connected-oauth-service - PROD~"
|
~"btc-cn-connected-oauth-service - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/presentation/profile-account~",
|
~"GET /api/v1/presentation/profile-account~",
|
||||||
~"GET /api/v2/presentation/profile-account~",
|
~"GET /api/v2/presentation/profile-account~",
|
||||||
~"POST /api/v2/presentation/profile-account~",
|
~"POST /api/v2/presentation/profile-account~",
|
||||||
~"GET /api/v1/presentation/profile-tab/contacts~",
|
~"GET /api/v1/presentation/profile-tab/contacts~",
|
||||||
~"POST /api/v2/cop/login/pwd~",
|
~"/api/v2/cop/login/pwd~",
|
||||||
~"POST /api/v2/cop/login/sms~",
|
~"/api/v2/cop/login/sms~",
|
||||||
~"POST /api/v2/cop/sso~",
|
~"/api/v2/cop/sso~",
|
||||||
~"GET /api/v1/cop/logout~"
|
~"/api/v2/cop/logout~"
|
||||||
)")
|
)"))))):splitBy())
|
||||||
)
|
EOT
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-user-composite-service - PROD~",
|
|
||||||
~"btc-cn-connected-oauth-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/presentation/profile-account~",
|
|
||||||
~"GET /api/v2/presentation/profile-account~",
|
|
||||||
~"POST /api/v2/presentation/profile-account~",
|
|
||||||
~"GET /api/v1/presentation/profile-tab/contacts~",
|
|
||||||
~"POST /api/v2/cop/login/pwd~",
|
|
||||||
~"POST /api/v2/cop/login/sms~",
|
|
||||||
~"POST /api/v2/cop/sso~",
|
|
||||||
~"GET /api/v1/cop/logout~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -11,48 +11,32 @@ module TP_Mobile_PersonalFavorites {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"btc-destination-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-destination-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v3/favorites~",
|
|
||||||
~"POST /api/v3/favorites~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"GET /api/v3/favorites/~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"POST /api/v3/favorites/~",
|
||||||
and(
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
or(
|
)"))))):splitBy())
|
||||||
in(
|
/
|
||||||
"dt.entity.service_method",
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
entitySelector(
|
fromRelationship.isServiceMethodOfService(
|
||||||
"type(service_method),
|
type(~"SERVICE~"),entityName.in(
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"btc-destination-composite-service - PROD~"
|
||||||
type(~"SERVICE~"),entityName.in(
|
)
|
||||||
~"btc-destination-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v3/favorites~",
|
|
||||||
~"POST /api/v3/favorites~",
|
|
||||||
~"PUT /api/v3/favorites/<favoriteId>~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"GET /api/v3/favorites/~",
|
||||||
|
~"POST /api/v3/favorites/~",
|
||||||
|
~"PUT /api/v3/favorites/<favoriteId>~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
module TP_Mobile_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Mobile_RSU"
|
||||||
|
description = "CoCo-QM-Report_Mobile"
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<-EOT
|
||||||
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v1/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"RemoteSoftwareUpgrade.WebApp - PROD~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"POST /v1/vehicle/rsustatus/finishInstallation~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
|
||||||
|
~"POST /v1/vehicle/rsustatus/updateAvailable~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -11,58 +11,25 @@ module TP_Mobile_Remote360 {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"remote-360-composite-service - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
,entityName.in(
|
||||||
"type(service_method),
|
~"GET /api/v1/events/[UUID]~",
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"POST /api/v1/events/[UUID]/cancel~",
|
||||||
type(~"SERVICE~"),entityName.in(
|
~"POST /api/v1/event/execute~",
|
||||||
~"remote-360-composite-service - PROD~"
|
~"GET /api/v1/download/[UUID]/<fileName>~",
|
||||||
)
|
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
||||||
)
|
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
||||||
,entityName.in(
|
~"GET /api/v1/vehicle/<VIN>/key~",
|
||||||
~"GET /api/v1/events/[UUID]~",
|
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
)"))))):splitBy())
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
EOT
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"remote-360-composite-service - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/events/[UUID]~",
|
|
||||||
~"POST /api/v1/events/[UUID]/cancel~",
|
|
||||||
~"POST /api/v1/event/execute~",
|
|
||||||
~"GET /api/v1/download/[UUID]/<fileName>~",
|
|
||||||
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
|
|
||||||
~"GET /api/v1/vehicle/<VIN>/key~",
|
|
||||||
~"GET /api/v1/recordings/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -13,60 +13,66 @@ module TP_Mobile_RemoteServices {
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
((builtin:service.keyRequest.errors.server.successCount:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
and(
|
fromRelationship.isServiceMethodOfService(
|
||||||
or(
|
type(~"SERVICE~"),entityName.in(
|
||||||
in(
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
"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())
|
)
|
||||||
|
,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(
|
(builtin:service.keyRequest.count.server:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
and(
|
fromRelationship.isServiceMethodOfService(
|
||||||
or(
|
type(~"SERVICE~"),entityName.in(
|
||||||
in(
|
~"btc-vehicle-remote-commands-composite-service - PROD~"
|
||||||
"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
|
,entityName.in(
|
||||||
|
~"POST /api/v2/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v2/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
|
||||||
|
~"GET /api/v1/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/eventStatus~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
|
||||||
|
~"GET /api/v3/presentation/remote-history/<VIN>~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
|
||||||
|
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~"
|
||||||
|
)")
|
||||||
|
)
|
||||||
|
)):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -11,36 +11,20 @@ module TP_Mobile_Send2VehicleLegacy {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service",
|
||||||
((builtin:service.errors.server.successCount:filter(
|
entitySelector("type(service),
|
||||||
and(
|
entityName.in(
|
||||||
or(
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service",
|
"))))):splitBy())
|
||||||
entitySelector("type(service),
|
/
|
||||||
entityName.in(
|
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
entityName.in(
|
||||||
)
|
~"LegacyPoiApi - msgsvc - prod~"
|
||||||
")
|
)
|
||||||
)
|
"))))):splitBy()))
|
||||||
)
|
EOT
|
||||||
)):splitBy())
|
|
||||||
/
|
|
||||||
(builtin:service.requestCount.total:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service",
|
|
||||||
entitySelector("type(service),
|
|
||||||
entityName.in(
|
|
||||||
~"LegacyPoiApi - msgsvc - prod~"
|
|
||||||
)
|
|
||||||
")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -11,46 +11,29 @@ module TP_Mobile_Send2VehicleMGU {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
~"TripService - PROD~"
|
||||||
in(
|
)
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v3/motorist/[UUID]/trips~",
|
|
||||||
~"/v2/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy())
|
,entityName.in(
|
||||||
/
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
and(
|
)"))))):splitBy())
|
||||||
or(
|
/
|
||||||
in(
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
"dt.entity.service_method",
|
fromRelationship.isServiceMethodOfService(
|
||||||
entitySelector(
|
type(~"SERVICE~"),entityName.in(
|
||||||
"type(service_method),
|
~"TripService - PROD~"
|
||||||
fromRelationship.isServiceMethodOfService(
|
)
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"TripService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/v3/motorist/[UUID]/trips~",
|
|
||||||
~"/v2/motorist/[UUID]/trips~"
|
|
||||||
)")
|
|
||||||
)
|
)
|
||||||
))):splitBy()))
|
,entityName.in(
|
||||||
EOT
|
~"/v2/motorist/[UUID]/trips~",
|
||||||
|
~"/v3/motorist/[UUID]/trips~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -11,48 +11,21 @@ module TP_Mobile_VehicleData {
|
||||||
filter = ""
|
filter = ""
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<EOT
|
||||||
(100)*
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
fromRelationship.isServiceMethodOfService(
|
||||||
and(
|
type(~"SERVICE~"),entityName.in(
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
~"btc-vehicle-composite-service - PROD~",
|
||||||
~"VehicleService - PROD~"
|
~"VehicleService - PROD~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
~"GET /api/v1/vehicles/<VIN>/state~",
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
~"GET /v1/vehicle/<VIN>~",
|
||||||
)")
|
~"GET /v2/vehicle/<VIN>~"
|
||||||
)
|
)")))):splitBy())
|
||||||
))):splitBy())
|
|
||||||
/
|
EOT
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
|
||||||
and(
|
|
||||||
or(
|
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in(
|
|
||||||
~"btc-vehicle-composite-service - PROD~",
|
|
||||||
~"VehicleService - PROD~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles/<VIN>/state~",
|
|
||||||
~"GET /v1/vehicle/<VIN>~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
timeframe = "-1d"
|
timeframe = "-1d"
|
||||||
|
|
|
||||||
|
|
@ -12,40 +12,27 @@ module TP_Mobile_VehicleList {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<-EOT
|
metric_expression = <<-EOT
|
||||||
(100)*
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",
|
||||||
((builtin:service.keyRequest.errors.server.successCount:filter(
|
entitySelector("type(service_method),
|
||||||
and(
|
fromRelationship.isServiceMethodOfService(
|
||||||
or(
|
type(~"SERVICE~"),entityName.in(
|
||||||
in(
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
"dt.entity.service_method",
|
)
|
||||||
entitySelector(
|
)
|
||||||
"type(service_method),
|
,entityName.in(
|
||||||
fromRelationship.isServiceMethodOfService(
|
~"GET /api/v1/vehicles~"
|
||||||
type(~"SERVICE~"),entityName.in
|
)"))))):splitBy())
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
/
|
||||||
)
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",
|
||||||
,entityName.in(
|
entitySelector("type(service_method),
|
||||||
~"GET /api/v1/vehicles~"
|
fromRelationship.isServiceMethodOfService(
|
||||||
)")
|
type(~"SERVICE~"),entityName.in(
|
||||||
)
|
~"btc-vehicle-composite-service - PROD~"
|
||||||
))):splitBy())
|
)
|
||||||
/
|
)
|
||||||
(builtin:service.keyRequest.count.server:filter(
|
,entityName.in(
|
||||||
and(
|
~"GET /api/v1/vehicles~"
|
||||||
or(
|
)"))))):splitBy()))
|
||||||
in(
|
|
||||||
"dt.entity.service_method",
|
|
||||||
entitySelector(
|
|
||||||
"type(service_method),
|
|
||||||
fromRelationship.isServiceMethodOfService(
|
|
||||||
type(~"SERVICE~"),entityName.in
|
|
||||||
(~"btc-vehicle-composite-service - PROD~")
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"GET /api/v1/vehicles~"
|
|
||||||
)")
|
|
||||||
)
|
|
||||||
))):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
module TP_Vehicle_RSU {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "TP_Vehicle_RSU"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Vehicle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#metric expression of the calculation as done in data explorer ui
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource - rsu - prod~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
|
||||||
|
)"))))):splitBy())
|
||||||
|
/
|
||||||
|
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"UpdateRequestResource - rsu - prod~",
|
||||||
|
~"UpdateManifestResource - rsu - prod~",
|
||||||
|
~"SendReportResource - rsu - prod~",
|
||||||
|
~"MessageEndpointProxy - rsu - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"askForUpdate~",
|
||||||
|
~"askForUpdateManifest~",
|
||||||
|
~"sendReport~",
|
||||||
|
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
|
||||||
|
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
|
||||||
|
~"Queue: BMW.RSU.RSA_PIPELINE~",
|
||||||
|
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
|
||||||
|
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
|
||||||
|
)"))))):splitBy()))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue