-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Enhance message gap metric to include min/max/avg aggregations #17847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
9964029
to
8722e82
Compare
benchmarks/src/test/java/org/apache/druid/benchmark/indexing/StreamAppenderatorBenchmark.java
Fixed
Show fixed
Hide fixed
bc90805
to
4e2633a
Compare
benchmarks/src/test/java/org/apache/druid/benchmark/indexing/AppenderatorBenchmark.java
Fixed
Show fixed
Hide fixed
584a2a6
to
6c80ada
Compare
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
6c80ada
to
dcd0623
Compare
server/src/test/java/org/apache/druid/segment/realtime/SegmentGenerationMetricsTest.java
Fixed
Show fixed
Hide fixed
server/src/test/java/org/apache/druid/segment/realtime/SegmentGenerationMetricsTest.java
Fixed
Show fixed
Hide fixed
server/src/test/java/org/apache/druid/segment/realtime/SegmentGenerationMetricsTest.java
Fixed
Show fixed
Hide fixed
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
dcd0623
to
f88b828
Compare
d1794c4
to
1efc571
Compare
1efc571
to
c4396e2
Compare
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
@jtuglu-netflix , is this PR ready for review now? |
b4d3fcb
to
9370fc2
Compare
Yes @kfaraz, I'll remove the *Appenderator benchmarks once approved. |
@kfaraz The min message gap (in addition to the max message gap) is useful in telling us the spread of the message gap during the emission period. It's not much more work than what we are already doing so I think it is useful to keep it. |
Thanks for the details, @maytasm ! Will do a final review of this PR tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for simplifying the PR, @jtuglu-netflix .
Left some final suggestions.
Once these are addressed, we can merge the PR.
...service/src/main/java/org/apache/druid/indexing/common/stats/TaskRealtimeMetricsMonitor.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/appenderator/StreamAppenderator.java
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
Show resolved
Hide resolved
3a3322e
to
68bc990
Compare
68bc990
to
f055447
Compare
@kfaraz thanks for the comments. I've left some final responses/reasoning for keeping certain things as-is and touched up other changes – all good here? |
Thanks for your patience on this PR, @jtuglu-netflix ! |
…e#17847) Changes: - Add metrics ingest/events/minMessageGap, ingest/events/maxMessageGap, ingest/events/avgMessageGap - The current definition of ingest/events/messageGap remains as-is.
Description
Realtime ingest message gap metric additions
ingest/events/messageGap
remains as-is.ingest/events/minMessageGap
, the minimum message gap seen in the currently-running task within the emission period.ingest/events/maxMessageGap
, the maximum message gap seen in the currently-running task within the emission period.ingest/events/avgMessageGap
, the avg message gap seen in the currently-running task across the entire duration thus far.Appenderator Benchmarks
Appenderator::add()
method.SegmentGenerationMetrics Benchmarks
Small optimizations to
StreamAppenderator::add()
System.currentTimeMillis()
by caching locally in a volatile updated by a background thread.persistAll()
(note: this has been omitted since it seems to be slower on smaller sink #s).Benchmarks
Appenderator Benchmarks
NB: 5 warmup/5 measurement on 10k calls
Old:
New:
Release note
Add min/max/avg message gap reporting metrics to realtime indexing jobs.
Key changed/added classes in this PR
benchmarks/src/test/java/org/apache/druid/benchmark/indexing/AppenderatorBenchmark.java
benchmarks/src/test/java/org/apache/druid/benchmark/indexing/StreamAppenderatorBenchmark.java
benchmarks/src/test/java/org/apache/druid/benchmark/indexing/metrics/SegmentGenerationMetricsBenchmark.java
indexing-service/src/main/java/org/apache/druid/indexing/common/task/IndexTask.java
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskRunner.java
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskTuningConfig.java
indexing-service/src/test/java/org/apache/druid/indexing/common/TaskRealtimeMetricsMonitorTest.java
server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java
server/src/main/java/org/apache/druid/segment/realtime/appenderator/AppenderatorConfig.java
server/src/main/java/org/apache/druid/segment/realtime/appenderator/StreamAppenderator.java
This PR has: