Convert Blink Rendering Core UKM to a sampling approach

The current Blink Rendering Core UKM process of averaging over 30s intervals, and
tracking a worst case has 2 major disadvantages:
* Apart from the worst case, we have only a single value to characterize the system
  behavior within the 30s interval. We cannot distinguish between many very fast
  frames and a few very slow ones, versus all frames being of medium duration.
* We cannot analyse how frame times are broken down among phases. The existing data
  includes records with a phase using more than 100% of the main frame time, which is
  certainly an artifact of averaging values.

This patch switches to a sampling method, whereby we emit a record at a random time
such that we achieve a set rate, initially the same 1 event per 30s we have been using.
As a result, we drop the worst case metrics (halving our data output). There is no change
of behavior for UMA.

Bug: 869996
Change-Id: I5df163414f88da1c53d917c0dcd39ebd87eab56e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1524997
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Auto-Submit: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#646498}
5 files changed