Hi Junping Du , Varun Vasudev
Recently we had few discussion in one of the ATS metrics jira
YARN-4172 regarding -1 handling for CPU usage.
Agreeing that we need to send -1 when there are no reading available, I would like to point 2 cases here;
1. When cpu sample is taken for first time, current code snippet in CpuTimeTracker is sending -1. In such cases, its debatable that whether we can send -1 for this case or not. May be we could start with 0 or even we can wait for a cycle to report back.
2. If CpuTimeTracker#getCpuTrackerUsagePercent returns -1, we can send the reading as it is back to caller. There is no need to operate on same. ResourceCalculatorProcessTree.UNAVAILABLE can be returned as CPU usage.
If thoughts are same, I can update a new patch.