| speculationValue(TaskId, long) |  | 0% |  | 0% | 18 | 18 | 56 | 56 | 1 | 1 |
| maybeScheduleASpeculation(TaskType) |  | 0% |  | 0% | 10 | 10 | 32 | 32 | 1 | 1 |
| DefaultSpeculator(Configuration, AppContext, TaskRuntimeEstimator, Clock) |  | 0% | | n/a | 1 | 1 | 25 | 25 | 1 | 1 |
| getEstimator(Configuration, AppContext) |  | 0% | | n/a | 1 | 1 | 20 | 20 | 1 | 1 |
| statusUpdate(TaskAttemptStatusUpdateEvent.TaskAttemptStatus, long) |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 1 | 1 |
| processSpeculatorEvent(SpeculatorEvent) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| containerNeed(TaskId) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| scanForSpeculations() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| addSpeculativeAttempt(TaskId) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| serviceStart() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| serviceStop() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| DefaultSpeculator(Configuration, AppContext, Clock) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| handleAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| DefaultSpeculator(Configuration, AppContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| computeSpeculations() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| eventQueueEmpty() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| handle(SpeculatorEvent) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| maybeScheduleAMapSpeculation() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| maybeScheduleAReduceSpeculation() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getSoonestRetryAfterNoSpeculate() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSoonestRetryAfterSpeculate() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getProportionRunningTasksSpeculatable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getProportionTotalTasksSpeculatable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMinimumAllowedSpeculativeTasks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |