-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Simplify tracking of task counts stats in TaskQueue #16423
base: master
Are you sure you want to change the base?
Conversation
This pull request has been marked as stale due to 60 days of inactivity. |
This pull request has been marked as stale due to 60 days of inactivity. |
This pull request has been marked as stale due to 60 days of inactivity. |
I don't intend to merge this PR as it has too many conflicts and the approach might need to be changed as well. |
This pull request has been marked as stale due to 60 days of inactivity. |
Description
The current model of tracking task counts for the
TaskCountStatsMonitor
is too limiting and verbose.Changes
TaskCountStatsProvider
CoordinatorRunStats
toDruidRunStats
as it is now being extensively used outside the coordinator.TaskQueue
.getRunningTaskCount
,getWaitingTaskCount
, etc.DruidRunStats
instance which is reset upon invocation ofgetQueueStats()
taskType
to task count metricsClasses to review
TaskQueue
TaskCountStatsProvider
TaskCountStatsMonitor
TaskMaster
Further work
Design considerations
The few advantages of the previous design were that:
DruidRunStats
.getStats()
method which returns a packagedDruidRunStats
, it is possible for the concrete implementation to return any or no metrics inside theDruidRunStats
. Still thinking of a clean way to enforce this. I suppose we could add logic in the monitor to ensure that all required metrics have been sent by the implementation.This PR has: