Pull request #44: INFOTAIN-30320: Remove deleted endpoint, created getFestivalNotification.

Merge in OPAPM/coco_terraform_config from feature/INFOTAIN-30320-fm-update-existing-dynatrace-dashboards-after-orbit-migration to master

* commit 'dddcebba572c87dae1ff70ed6da802eadeed85a1':
  OPMAAS-3267 - Minor changes to entityName.
  INFOTAIN-30320: Remove deleted endpoint, created getFestivalNotification. Update tag/name FestivalMode to FestiveMode.
feature/INFOTAIN-30320-update-existing-dashboards-with-suggestions-on-previous-pr
Antonio Canelas (CTW) 2023-01-13 10:30:22 +00:00 committed by Arnel Arnautovic (ext.)
commit 86ef261ba6
18 changed files with 186 additions and 336 deletions

View File

@ -3,18 +3,18 @@ module ICES_-_FestiveModeAPI {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi"
name = "ICES - FestiveModeApi"
description = "FestivalModeApi"
description = "FestiveModeApi"
#entity selector object
filter = "type(\"SERVICE\"),entityName(\"FestivalModeApi\"),tag(\"Environment:PROD\")"
filter = "type(\"SERVICE\"),entityName.in(\"FestiveModeApi\"),tag(\"Environment:PROD\")"
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
metric_expression = "(100)*((1)-(builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/(builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
#if not set (removed) it's defaulted to "-1d"

View File

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getIcon {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getIcon"
description = "FestivalModeAPI_getIcon_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):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

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getVideo {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getVideo"
description = "FestivalModeAPI_getVideo_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestival {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestival"
description = "FestivalModeApi_getFestival_success_rate"
name = "ICES - FestiveModeApi - getFestival"
description = "FestiveModeApi_getFestival_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestival {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestival {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)

View File

@ -0,0 +1,50 @@
module ICES_FestiveModeAPI_getFestivalNotification {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeApi - getFestivalNotification"
description = "FestiveModeApi_getFestivalNotification_success_rate"
#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(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestivals {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestivals"
description = "FestivalModeApi_getFestivals_success_rate"
name = "ICES - FestiveModeApi - getFestivals"
description = "FestiveModeApi_getFestivals_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestivals {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestivals {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)

View File

@ -3,18 +3,18 @@ module ICES_-_FestiveModeAPI {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi"
name = "ICES - FestiveModeApi"
description = "FestivalModeApi"
description = "FestiveModeApi"
#entity selector object
filter = "type(\"SERVICE\"),entityName(\"FestivalModeApi\"),tag(\"Environment:PROD\")"
filter = "type(\"SERVICE\"),entityName.in(\"FestiveModeApi\"),tag(\"Environment:PROD\")"
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
metric_expression = "(100)*((1)-(builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/(builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
#if not set (removed) it's defaulted to "-1d"

View File

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getIcon {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getIcon"
description = "FestivalModeAPI_getIcon_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):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

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getVideo {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getVideo"
description = "FestivalModeAPI_getVideo_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestival {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestival"
description = "FestivalModeApi_getFestival_success_rate"
name = "ICES - FestiveModeApi - getFestival"
description = "FestiveModeApi_getFestival_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestival {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestival {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)

View File

@ -0,0 +1,50 @@
module ICES_FestiveModeAPI_getFestivalNotification {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeApi - getFestivalNotification"
description = "FestiveModeApi_getFestivalNotification_success_rate"
#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(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestivals {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestivals"
description = "FestivalModeApi_getFestivals_success_rate"
name = "ICES - FestiveModeApi - getFestivals"
description = "FestiveModeApi_getFestivals_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestivals {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestivals {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)

View File

@ -3,18 +3,18 @@ module ICES_-_FestiveModeAPI {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi"
name = "ICES - FestiveModeApi"
description = "FestivalModeApi"
description = "FestiveModeApi"
#entity selector object
filter = "type(\"SERVICE\"),entityName(\"FestivalModeApi\"),tag(\"Environment:PROD\")"
filter = "type(\"SERVICE\"),entityName.in(\"FestiveModeApi\"),tag(\"Environment:PROD\")"
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
metric_expression = "(100)*((1)-(builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/(builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))"
#if not set (removed) it's defaulted to "-1d"

View File

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getIcon {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getIcon"
description = "FestivalModeAPI_getIcon_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getIcon~"
)"))))):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

@ -1,50 +0,0 @@
module ICES_FestiveModeAPI_getVideo {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeAPI - getVideo"
description = "FestivalModeAPI_getVideo_success_rate"
#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(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getVideo~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestival {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestival"
description = "FestivalModeApi_getFestival_success_rate"
name = "ICES - FestiveModeApi - getFestival"
description = "FestiveModeApi_getFestival_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestival {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestival {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)

View File

@ -0,0 +1,50 @@
module ICES_FestiveModeAPI_getFestivalNotification {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestiveModeApi - getFestivalNotification"
description = "FestiveModeApi_getFestivalNotification_success_rate"
#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(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
,entityName.in(
~"getFestivalNotification~"
)"))))):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

@ -3,8 +3,8 @@ module ICES_FestiveModeAPI_getFestivals {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "ICES - FestivalModeApi - getFestivals"
description = "FestivalModeApi_getFestivals_success_rate"
name = "ICES - FestiveModeApi - getFestivals"
description = "FestiveModeApi_getFestivals_success_rate"
#entity selector object
@ -16,7 +16,7 @@ module ICES_FestiveModeAPI_getFestivals {
(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(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)
@ -27,7 +27,7 @@ module ICES_FestiveModeAPI_getFestivals {
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"FestivalModeApi~"
~"FestiveModeApi~"
),
tag(~"Environment:PROD~")
)