Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
theodolite
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sören Henning
theodolite
Commits
856b7521
Commit
856b7521
authored
3 years ago
by
Sören Henning
Browse files
Options
Downloads
Plain Diff
Merge branch 'feature/356-specify-consumergroup-in-lagtrend-metric' into 'master'
Allow to specify consumergroup in lagtrend slo Closes
#356
See merge request
!252
parents
9c9fe55d
e820e8c5
No related branches found
No related tags found
1 merge request
!252
Allow to specify consumergroup in lagtrend slo
Pipeline
#7309
passed
3 years ago
Stage: build
Stage: test
Stage: check
Stage: deploy
Stage: smoketest
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
theodolite/src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt
+7
-1
7 additions, 1 deletion
...src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt
with
7 additions
and
1 deletion
theodolite/src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt
+
7
−
1
View file @
856b7521
...
...
@@ -4,6 +4,7 @@ import theodolite.benchmark.BenchmarkExecution
import
theodolite.util.InvalidPatcherConfigurationException
import
javax.enterprise.context.ApplicationScoped
private
const
val
DEFAULT_CONSUMER_LAG_METRIC_BASE
=
"kafka_consumergroup_lag"
private
const
val
DEFAULT_CONSUMER_LAG_QUERY
=
"sum by(consumergroup) (kafka_consumergroup_lag >= 0)"
private
const
val
DEFAULT_DROPPED_RECORDS_QUERY
=
"sum by(job) (kafka_streams_stream_task_metrics_dropped_records_total>=0)"
...
...
@@ -13,9 +14,14 @@ class SloConfigHandler {
fun
getQueryString
(
slo
:
BenchmarkExecution
.
Slo
):
String
{
return
when
(
slo
.
sloType
.
lowercase
())
{
SloTypes
.
GENERIC
.
value
->
slo
.
properties
[
"promQLQuery"
]
?:
throw
IllegalArgumentException
(
"promQLQuery expected"
)
SloTypes
.
LAG_TREND
.
value
,
SloTypes
.
LAG_TREND_RATIO
.
value
->
slo
.
properties
[
"promQLQuery"
]
?:
(
slo
.
properties
[
"consumerGroup"
]
?.
let
{
"{consumergroup='$it'}"
}
?:
""
).
let
{
"sum by(consumergroup) ($DEFAULT_CONSUMER_LAG_METRIC_BASE$it >= 0)"
}
SloTypes
.
DROPPED_RECORDS
.
value
,
SloTypes
.
DROPPED_RECORDS_RATIO
.
value
->
slo
.
properties
[
"promQLQuery"
]
?:
DEFAULT_DROPPED_RECORDS_QUERY
SloTypes
.
LAG_TREND
.
value
,
SloTypes
.
LAG_TREND_RATIO
.
value
->
slo
.
properties
[
"promQLQuery"
]
?:
DEFAULT_CONSUMER_LAG_QUERY
SloTypes
.
DROPPED_RECORDS
.
value
,
SloTypes
.
DROPPED_RECORDS_RATIO
.
value
->
slo
.
properties
[
"promQLQuery"
]
?:
DEFAULT_DROPPED_RECORDS_QUERY
else
->
throw
InvalidPatcherConfigurationException
(
"Could not find Prometheus query string for slo type $slo.sloType"
)
else
->
throw
InvalidPatcherConfigurationException
(
"Could not find Prometheus query string for slo type $
{
slo.sloType
}
"
)
}
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment