blob: 297f47bbcac4afafdc5ed3f1346da2ec3d0fd5e3 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2019 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<link rel="import" href="/tracing/base/unit.html">
<link rel="import" href="/tracing/metrics/metric_registry.html">
<link rel="import" href="/tracing/value/histogram.html">
<script>
'use strict';
tr.exportTo('tr.metrics.sh', function() {
const BYTE_BOUNDARIES = tr.v.HistogramBinBoundaries
.createExponential(1, 1e9, 1e2);
/* This metric measures mapped and resident native code memory footprint. */
function nativeCodeResidentMemoryMetric(histograms, model) {
const histogram = new tr.v.Histogram(
'NativeCodeResidentMemory',
tr.b.Unit.byName.sizeInBytes_smallerIsBetter,
BYTE_BOUNDARIES);
for (const slice of model.getDescendantEvents()) {
if (slice.category === 'disabled-by-default-memory-infra' &&
slice.title === 'ReportGlobalNativeCodeResidentMemoryKb' &&
slice.args.NativeCodeResidentMemory) {
histogram.addSample(slice.args.NativeCodeResidentMemory);
}
}
histograms.addHistogram(histogram);
}
tr.metrics.MetricRegistry.register(nativeCodeResidentMemoryMetric);
return {
nativeCodeResidentMemoryMetric,
};
});
</script>