From 03c549e0392f92c02536d3f86d5e1d8dfa3435ac Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 1 Sep 2021 11:08:40 +0200 Subject: BASELINE: Update Chromium to 91.0.4472.160 Change-Id: I0def1f08a2412aeed79a9ab95dd50eb5c3f65f31 Reviewed-by: Allan Sandfeld Jensen --- .../tracing/tracing/metrics/all_metrics.html | 2 +- .../tracing/metrics/blink/resource_metric.html | 51 +++++++++++++++++ .../metrics/blink/resource_metric_test.html | 45 +++++++++++++++ .../tracing/metrics/memory_ablation_metric.html | 65 ---------------------- .../metrics/partition_alloc/pcscan_metric.html | 50 ++++++++++------- .../partition_alloc/pcscan_metric_test.html | 46 ++++++++++++--- .../tracing/tracing/metrics/uma_metric.html | 26 +++++++++ 7 files changed, 192 insertions(+), 93 deletions(-) create mode 100644 chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric.html create mode 100644 chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric_test.html delete mode 100644 chromium/third_party/catapult/tracing/tracing/metrics/memory_ablation_metric.html (limited to 'chromium/third_party/catapult/tracing/tracing/metrics') diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/all_metrics.html b/chromium/third_party/catapult/tracing/tracing/metrics/all_metrics.html index 9dd2181dc82..c4bf25e1dfc 100644 --- a/chromium/third_party/catapult/tracing/tracing/metrics/all_metrics.html +++ b/chromium/third_party/catapult/tracing/tracing/metrics/all_metrics.html @@ -9,12 +9,12 @@ found in the LICENSE file. + - diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric.html b/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric.html new file mode 100644 index 00000000000..c44eda0235e --- /dev/null +++ b/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric.html @@ -0,0 +1,51 @@ + + + + + + + diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric_test.html b/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric_test.html new file mode 100644 index 00000000000..9081918bee1 --- /dev/null +++ b/chromium/third_party/catapult/tracing/tracing/metrics/blink/resource_metric_test.html @@ -0,0 +1,45 @@ + + + + + + + + + diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric.html b/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric.html index 9e3a28a507f..99e938cf3d6 100644 --- a/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric.html +++ b/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric.html @@ -21,18 +21,18 @@ found in the LICENSE file. * are no pointers in memory which point to explicitly freed objects before * actually releasing their memory. * - * pa:pcscan: + * pa:pcscan:: * ======================== * The overall time spent on scanning the partition alloc heap for a specific - * process (can be either 'browser_process' or 'renderer_processes'). + * process either in the scanner or mutator thread (process_name can be either 'browser_process' or 'renderer_processes'). * - * pa:pcscan:: + * pa:pcscan::: * ======================== * Time spent on a certain PCScan phase ('clear', 'scan' or 'sweep'). */ tr.exportTo('tr.metrics.pa', function() { function pcscanMetric(histograms, model) { - function createNumericForProcess(name, processName, desc) { + function createNumericForProcess(name, processName, context, desc) { function createNumericForEventTime(name, desc) { const n = new tr.v.Histogram(name, tr.b.Unit.byName.timeDurationInMs_smallerIsBetter); @@ -46,21 +46,27 @@ tr.exportTo('tr.metrics.pa', function() { sum: true}); return n; } - const scheme = ['pa', 'pcscan', processName]; + const scheme = ['pa', 'pcscan', processName, context]; if (name) scheme.push(name); return createNumericForEventTime(scheme.join(':'), desc); } function createHistsForProcess(processName) { return { - scan: createNumericForProcess('scan', processName, - 'Time for scanning heap for quarantine pointers'), - sweep: createNumericForProcess('sweep', processName, + scanner_scan: createNumericForProcess('scan', processName, 'scanner', + 'Time for scanning heap for quarantine pointers on concurrent threads'), + scanner_sweep: createNumericForProcess('sweep', processName, 'scanner', 'Time for sweeping quarantine'), - clear: createNumericForProcess('clear', processName, + scanner_clear: createNumericForProcess('clear', processName, 'scanner', 'Time for clearing quarantine entries'), - total: createNumericForProcess('', processName, - 'Total time for PCScan execution') + scanner_total: createNumericForProcess('', processName, 'scanner', + 'Total time for PCScan execution on concurrent threads'), + mutator_scan: createNumericForProcess('scan', processName, 'mutator', + 'Time for scanning heap for quarantine pointers on mutator threads'), + mutator_clear: createNumericForProcess('clear', processName, 'mutator', + 'Time for clearing heap quarantine entries on mutator threads'), + mutator_total: createNumericForProcess('', processName, 'mutator', + 'Total time for PCScan execution on mutator threads (inside safepoints)'), }; } @@ -68,14 +74,20 @@ tr.exportTo('tr.metrics.pa', function() { if (!(slice instanceof tr.model.ThreadSlice)) return; if (slice.category !== 'partition_alloc') return; - if (slice.title === 'PCScan.Scan') { - hists.scan.addSample(slice.duration); - } else if (slice.title === 'PCScan.Sweep') { - hists.sweep.addSample(slice.duration); - } else if (slice.title === 'PCScan.Clear') { - hists.clear.addSample(slice.duration); - } else if (slice.title === 'PCScan') { - hists.total.addSample(slice.duration); + if (slice.title === 'PCScan.Scanner.Scan') { + hists.scanner_scan.addSample(slice.duration); + } else if (slice.title === 'PCScan.Scanner.Sweep') { + hists.scanner_sweep.addSample(slice.duration); + } else if (slice.title === 'PCScan.Scanner.Clear') { + hists.scanner_clear.addSample(slice.duration); + } else if (slice.title === 'PCScan.Scanner') { + hists.scanner_total.addSample(slice.duration); + } else if (slice.title === 'PCScan.Mutator.Scan') { + hists.mutator_scan.addSample(slice.duration); + } else if (slice.title === 'PCScan.Mutator.Clear') { + hists.mutator_clear.addSample(slice.duration); + } else if (slice.title === 'PCScan.Mutator') { + hists.mutator_total.addSample(slice.duration); } } diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric_test.html b/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric_test.html index a88d343b5c2..088c14780f3 100644 --- a/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric_test.html +++ b/chromium/third_party/catapult/tracing/tracing/metrics/partition_alloc/pcscan_metric_test.html @@ -25,7 +25,7 @@ tr.b.unittest.testSuite(function() { const thread = process.getOrCreateThread(2); thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ cat: 'partition_alloc', - title: 'PCScan', + title: 'PCScan.Scanner', start: 200, duration: 100, cpuStart: 200, @@ -33,7 +33,15 @@ tr.b.unittest.testSuite(function() { })); thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ cat: 'partition_alloc', - title: 'PCScan.Clear', + title: 'PCScan.Mutator', + start: 200, + duration: 50, + cpuStart: 200, + cpuDuration: 50 + })); + thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ + cat: 'partition_alloc', + title: 'PCScan.Scanner.Clear', start: 200, duration: 16, cpuStart: 200, @@ -41,7 +49,7 @@ tr.b.unittest.testSuite(function() { })); thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ cat: 'partition_alloc', - title: 'PCScan.Scan', + title: 'PCScan.Scanner.Scan', start: 216, duration: 32, cpuStart: 216, @@ -49,7 +57,23 @@ tr.b.unittest.testSuite(function() { })); thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ cat: 'partition_alloc', - title: 'PCScan.Sweep', + title: 'PCScan.Mutator.Clear', + start: 210, + duration: 8, + cpuStart: 210, + cpuDuration: 8 + })); + thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ + cat: 'partition_alloc', + title: 'PCScan.Mutator.Scan', + start: 232, + duration: 16, + cpuStart: 232, + cpuDuration: 16 + })); + thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx({ + cat: 'partition_alloc', + title: 'PCScan.Scanner.Sweep', start: 248, duration: 42, cpuStart: 248, @@ -62,13 +86,19 @@ tr.b.unittest.testSuite(function() { const histograms = new tr.v.HistogramSet(); tr.metrics.pa.pcscanMetric(histograms, makeTestModelFor(processName)); assert.closeTo(100, histograms.getHistogramNamed( - 'pa:pcscan:' + processName).average, 1e-2); + 'pa:pcscan:' + processName + ':scanner').average, 1e-2); + assert.closeTo(50, histograms.getHistogramNamed( + 'pa:pcscan:' + processName + ':mutator').average, 1e-2); assert.closeTo(16, histograms.getHistogramNamed( - 'pa:pcscan:' + processName + ':clear').average, 1e-2); + 'pa:pcscan:' + processName + ':scanner:clear').average, 1e-2); assert.closeTo(32, histograms.getHistogramNamed( - 'pa:pcscan:' + processName + ':scan').average, 1e-2); + 'pa:pcscan:' + processName + ':scanner:scan').average, 1e-2); + assert.closeTo(8, histograms.getHistogramNamed( + 'pa:pcscan:' + processName + ':mutator:clear').average, 1e-2); + assert.closeTo(16, histograms.getHistogramNamed( + 'pa:pcscan:' + processName + ':mutator:scan').average, 1e-2); assert.closeTo(42, histograms.getHistogramNamed( - 'pa:pcscan:' + processName + ':sweep').average, 1e-2); + 'pa:pcscan:' + processName + ':scanner:sweep').average, 1e-2); } test('pcscanMetricForBrowser', function() { diff --git a/chromium/third_party/catapult/tracing/tracing/metrics/uma_metric.html b/chromium/third_party/catapult/tracing/tracing/metrics/uma_metric.html index ad2c814e628..959006e9749 100644 --- a/chromium/third_party/catapult/tracing/tracing/metrics/uma_metric.html +++ b/chromium/third_party/catapult/tracing/tracing/metrics/uma_metric.html @@ -148,6 +148,32 @@ tr.exportTo('tr.metrics', function() { sumOfMiddles += bin.count * (bin.min + bin.max) / 2; sumOfBinLengths += bin.count * (bin.max - bin.min); } + + if (name.startsWith('CompositorLatency.Type')) { + let histogramBoundaries = tr.v.HistogramBinBoundaries.createLinear(0, 100, 101); + let histogramUnit = getHistogramUnit_(name); + let presentedCount = values.bins[0] ? values.bins[0].count : 0; + let delayedCount = values.bins[1] ? values.bins[1].count : 0; + let droppedCount = values.bins[2] ? values.bins[2].count : 0; + let inTimeCount = presentedCount - delayedCount; + let totalCount = presentedCount + droppedCount; + + const inTimeHistogram = new tr.v.Histogram( + name+'.Percentage_of_in_time_frames', histogramUnit, histogramBoundaries); + inTimeHistogram.addSample(100.0 * inTimeCount / totalCount); + histograms.addHistogram(inTimeHistogram); + + const delayedHistogram = new tr.v.Histogram( + name+'.Percentage_of_delayed_frames', histogramUnit, histogramBoundaries); + delayedHistogram.addSample(100.0 * delayedCount / totalCount); + histograms.addHistogram(delayedHistogram); + + const droppedHistogram = new tr.v.Histogram( + name+'.Percentage_of_dropped_frames', histogramUnit, histogramBoundaries); + droppedHistogram.addSample(100.0 * droppedCount / totalCount); + histograms.addHistogram(droppedHistogram); + } + const shift = (values.sum - sumOfMiddles) / sumOfBinLengths; // Note: for linear bins, if shift is less than -0.5, it means that even // if we put all samples at the lowest value of their bins their sum will -- cgit v1.2.1