modified
parent
8c4f34832b
commit
352127ed74
|
|
@ -69,6 +69,10 @@
|
||||||
git branch: "${params.CBRANCH}", credentialsId: "jaws_dynatrace_bitbuket_user", url: "https://atc.bmwgroup.net/bitbucket/scm/opapm/coco_apm_slo_yaml2tf.git"
|
git branch: "${params.CBRANCH}", credentialsId: "jaws_dynatrace_bitbuket_user", url: "https://atc.bmwgroup.net/bitbucket/scm/opapm/coco_apm_slo_yaml2tf.git"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sh '''
|
||||||
|
cd /opt/workspace/coco_terraform_config/
|
||||||
|
git checkout -b automatedSLOGeneration
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -98,7 +102,7 @@
|
||||||
stage('Execute Script') {
|
stage('Execute Script') {
|
||||||
steps {
|
steps {
|
||||||
dir("/opt/workspace/coco_apm_slo_yaml2tf/") {
|
dir("/opt/workspace/coco_apm_slo_yaml2tf/") {
|
||||||
sh "python3 generate.py ../shared_configuration/${params.INPUTFOLDER}"
|
sh "python3 generate.py /opt/workspace/shared_configuration/${params.INPUTFOLDER} /opt/workspace/coco_terraform_config/"
|
||||||
}
|
}
|
||||||
//Only required once CN is not reachable from EMEA
|
//Only required once CN is not reachable from EMEA
|
||||||
//loopEnvironments(environments)
|
//loopEnvironments(environments)
|
||||||
|
|
@ -106,6 +110,21 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage('Create Pull Request') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def now = new Date()
|
||||||
|
timestamp = now.format("yyMMdd.HHmm", TimeZone.getTimeZone('UTC'))
|
||||||
|
|
||||||
|
dir("/opt/workspace/coco_terraform_config/") {
|
||||||
|
sh 'git add .'
|
||||||
|
sh ('git commit -m "${timestamp}"')
|
||||||
|
sh 'git push origin automatedSLOGeneration'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
post {
|
post {
|
||||||
failure {
|
failure {
|
||||||
emailext subject: "${env.JOB_NAME} build ${env.BUILD_ID} failed",
|
emailext subject: "${env.JOB_NAME} build ${env.BUILD_ID} failed",
|
||||||
|
|
|
||||||
19
generate.py
19
generate.py
|
|
@ -33,7 +33,12 @@ def template_logic(metric):
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
# main
|
# main
|
||||||
def main(configFile):
|
def main(configFile,output_path):
|
||||||
|
if output_path:
|
||||||
|
op = output_path
|
||||||
|
else:
|
||||||
|
op = OUTPUT_FOLDER_BASENAME
|
||||||
|
|
||||||
slo_id = None
|
slo_id = None
|
||||||
slo_name = None
|
slo_name = None
|
||||||
module_name = None
|
module_name = None
|
||||||
|
|
@ -84,7 +89,7 @@ def main(configFile):
|
||||||
|
|
||||||
# generate terraform file
|
# generate terraform file
|
||||||
for environment,ev in environments.items():
|
for environment,ev in environments.items():
|
||||||
folder_path = os.path.join(cwd,OUTPUT_FOLDER_BASENAME,environment.replace('-','_'),"slo")
|
folder_path = os.path.join(cwd,op,environment.replace('-','_'),"slo")
|
||||||
if not os.path.exists(folder_path):
|
if not os.path.exists(folder_path):
|
||||||
os.makedirs(folder_path)
|
os.makedirs(folder_path)
|
||||||
metric = nested_lookup('metric',ev)
|
metric = nested_lookup('metric',ev)
|
||||||
|
|
@ -112,9 +117,9 @@ if __name__ == "__main__":
|
||||||
cwd = os.getcwd()
|
cwd = os.getcwd()
|
||||||
|
|
||||||
print(sys.argv)
|
print(sys.argv)
|
||||||
if len(sys.argv) != 2:
|
if len(sys.argv) != 3:
|
||||||
print(".\generate.py <path to yaml file/folder>")
|
print(".\generate.py <path to yaml file/folder> <output path>")
|
||||||
print("Example: .\generate.py .\DE-3\\")
|
print("Example: .\generate.py .\DE-3\\ .\test\\")
|
||||||
print("Example: .\generate.py .\DE-3\,.\DE-4\,...")
|
print("Example: .\generate.py .\DE-3\,.\DE-4\,...")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
@ -131,8 +136,8 @@ if __name__ == "__main__":
|
||||||
# return path of slo config files
|
# return path of slo config files
|
||||||
configFiles = glob.glob(pathname=pathname + '\\**\\*.yaml',
|
configFiles = glob.glob(pathname=pathname + '\\**\\*.yaml',
|
||||||
# root_dir=os.path.join(cwd,os.path.basename(arg)),
|
# root_dir=os.path.join(cwd,os.path.basename(arg)),
|
||||||
recursive=True)
|
recursive=True)
|
||||||
|
|
||||||
# for each slo config file in folder
|
# for each slo config file in folder
|
||||||
for configFile in configFiles:
|
for configFile in configFiles:
|
||||||
main(configFile)
|
main(configFile,sys.argv[2])
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue