Creating SLOs for Speech and Alexa, Modifying SLO for eRoute
parent
07107367c0
commit
4ef54b9402
|
|
@ -0,0 +1,44 @@
|
||||||
|
module Wirkkette_Speech_Service_Vehicle_Reliability_of_key_requests {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "Wirkkette \"Speech Service\" - Reliability of key requests"
|
||||||
|
|
||||||
|
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.server.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - ipa-backend-cn - prod~",
|
||||||
|
~"hvd (/hvd) - ipa-backend-cn - e2e~",
|
||||||
|
~"server (/htts) - ipa-backend-cn - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/speech~",
|
||||||
|
~"/htts/transcribe~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
module Wirkkette_eRoute_Service_alternative_metric {
|
module Wirkkette__eRoute_Service__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
name = "Wirkkette \"eRoute Service\" - Alternative metric"
|
name = "Wirkkette \"eRoute Service\" - Reliability of key requests"
|
||||||
|
|
||||||
description = "Alternative metric based on 5xx error rate"
|
description = "CoCo QM-Report_Draft"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -15,16 +15,15 @@ module Wirkkette_eRoute_Service_alternative_metric {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~"
|
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"/api/eu/2.5/eroute/protobuf3~",
|
~"/api/cn/route~"
|
||||||
~"/api/eu/2.5/eroute-costs/protobuf3~"
|
)")))):splitBy("dt.entity.service_method"))
|
||||||
)")))):splitBy())
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
module Wirkkette_Alexa_Service_Vehicle_Reliability_of_key_requests {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "Wirkkette \"Alexa Service\" - Reliability of key requests"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Draft"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
# The metric fivexx.rate shouldn't be changed to server side error metric. Reason is there is a global rule to exclude 502 errors from server side errors.
|
||||||
|
# However 502 errors should be included in the Alexa endpoint.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/keywords~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
module Wirkkette_Speech_Service_Vehicle_Reliability_of_key_requests {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "Wirkkette \"Speech Service\" - Reliability of key requests"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Draft"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
# Error Code 502 in HVD service will be excluded from the SLO.
|
||||||
|
# Therefore the metric server side errors was used for calculation.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.server.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~",
|
||||||
|
~"server (/htts) - htts - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/speech~",
|
||||||
|
~"/htts/transcribe~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -15,27 +15,18 @@ module Wirkkette__eRoute_Service__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)*((builtin:service.keyRequest.errors.fivexx.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~"
|
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~",
|
||||||
|
~"Netty on 0.0.0.0:8080 - eroute-adapter - prod~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"/api/eu/2.5/eroute/protobuf3~",
|
~"/api/eu/2.5/eroute/protobuf3~",
|
||||||
~"/api/eu/2.5/eroute-costs/protobuf3~"
|
~"/api/eu/2.5/eroute-costs/protobuf3~",
|
||||||
)"))))):splitBy())
|
~"/route/eroute~"
|
||||||
/
|
)")))):splitBy("dt.entity.service_method"))
|
||||||
(builtin:service.keyRequest.count.total: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~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/api/eu/2.5/eroute/protobuf3~",
|
|
||||||
~"/api/eu/2.5/eroute-costs/protobuf3~"
|
|
||||||
)"))))):splitBy()))
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
#if not set (removed) it's defaulted to "-1d"
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
module Wirkkette_Alexa_Service_Vehicle_Reliability_of_key_requests {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "Wirkkette \"Alexa Service\" - Reliability of key requests"
|
||||||
|
|
||||||
|
description = "CoCo-QM-Report_Draft"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#entity selector object
|
||||||
|
filter = ""
|
||||||
|
|
||||||
|
|
||||||
|
# The metric fivexx.rate shouldn't be changed to server side error metric. Reason is there is a global rule to exclude 502 errors from server side errors.
|
||||||
|
# However 502 errors should be included in the Alexa endpoint.
|
||||||
|
metric_expression = <<EOT
|
||||||
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/keywords~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
module Wirkkette_Speech_Service_Vehicle_Reliability_of_key_requests {
|
||||||
|
|
||||||
|
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||||
|
|
||||||
|
|
||||||
|
name = "Wirkkette \"Speech Service\" - Reliability of key requests"
|
||||||
|
|
||||||
|
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.server.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
|
fromRelationship.isServiceMethodOfService(
|
||||||
|
type(~"SERVICE~"),entityName.in(
|
||||||
|
~"hvd (/hvd) - hvd - prod~",
|
||||||
|
~"server (/htts) - htts - prod~"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
,entityName.in(
|
||||||
|
~"/hvd/speech~",
|
||||||
|
~"/htts/transcribe~"
|
||||||
|
)"))))):splitBy("dt.entity.service_method"))
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
#if not set (removed) it's defaulted to "-1d"
|
||||||
|
timeframe = "-1d"
|
||||||
|
|
||||||
|
|
||||||
|
#currently the only possible value
|
||||||
|
evaluation = "AGGREGATE"
|
||||||
|
|
||||||
|
#Target and warning percentage of the SLO as double
|
||||||
|
target = 98 #if not set(removed) it's defaulted to 98
|
||||||
|
warning = 99 #if not set(removed) it's defaulted to 99
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -15,27 +15,18 @@ module Wirkkette__eRoute_Service__-_Reliability_of_key_requests {
|
||||||
|
|
||||||
#metric expression of the calculation as done in data explorer ui
|
#metric expression of the calculation as done in data explorer ui
|
||||||
metric_expression = <<EOT
|
metric_expression = <<EOT
|
||||||
(100)*((builtin:service.keyRequest.errors.fivexx.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
|
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||||
fromRelationship.isServiceMethodOfService(
|
fromRelationship.isServiceMethodOfService(
|
||||||
type(~"SERVICE~"),entityName.in(
|
type(~"SERVICE~"),entityName.in(
|
||||||
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~"
|
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~",
|
||||||
|
~"Netty on 0.0.0.0:8080 - eroute-adapter - prod~"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
,entityName.in(
|
,entityName.in(
|
||||||
~"/api/na/2.5/eroute-costs/protobuf3~",
|
~"/api/na/2.5/eroute-costs/protobuf3~",
|
||||||
~"/api/na/2.5/eroute/protobuf3~"
|
~"/api/na/2.5/eroute/protobuf3~",
|
||||||
)"))))):splitBy())
|
~"/route/eroute~"
|
||||||
/
|
)")))):splitBy("dt.entity.service_method"))
|
||||||
(builtin:service.keyRequest.count.total: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~"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
,entityName.in(
|
|
||||||
~"/api/na/2.5/eroute-costs/protobuf3~",
|
|
||||||
~"/api/na/2.5/eroute/protobuf3~"
|
|
||||||
)"))))):splitBy()))
|
|
||||||
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue