| Index: tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| diff --git a/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py b/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| index 017bf080e393c75f10f2eb6a7286795a731db11d..7ff61c092bbfdf24c532546a415985ac2e3d5283 100644
|
| --- a/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| +++ b/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| @@ -10,6 +10,7 @@
|
| from telemetry.timeline import model as model_module
|
| from telemetry.value import trace
|
| from telemetry.web_perf import timeline_interaction_record as tir_module
|
| +from telemetry.web_perf.metrics import fast_metric
|
| from telemetry.web_perf.metrics import responsiveness_metric
|
| from telemetry.web_perf.metrics import smoothness
|
|
|
| @@ -18,16 +19,19 @@
|
| # overhead increases. The user of the measurement must therefore chose between
|
| # a few levels of instrumentation.
|
| NO_OVERHEAD_LEVEL = 'no-overhead'
|
| +V8_OVERHEAD_LEVEL = 'v8-overhead'
|
| MINIMAL_OVERHEAD_LEVEL = 'minimal-overhead'
|
| DEBUG_OVERHEAD_LEVEL = 'debug-overhead'
|
|
|
| ALL_OVERHEAD_LEVELS = [
|
| NO_OVERHEAD_LEVEL,
|
| + V8_OVERHEAD_LEVEL,
|
| MINIMAL_OVERHEAD_LEVEL,
|
| DEBUG_OVERHEAD_LEVEL
|
| ]
|
|
|
| DEFAULT_METRICS = {
|
| + tir_module.IS_FAST: fast_metric.FastMetric,
|
| tir_module.IS_SMOOTH: smoothness.SmoothnessMetric,
|
| tir_module.IS_RESPONSIVE: responsiveness_metric.ResponsivenessMetric,
|
| }
|
| @@ -138,8 +142,9 @@
|
| and the tracing is filtered accordingly.
|
|
|
| overhead_level: Can either be a custom TracingCategoryFilter object or
|
| - one of NO_OVERHEAD_LEVEL, MINIMAL_OVERHEAD_LEVEL or
|
| - DEBUG_OVERHEAD_LEVEL.
|
| + one of NO_OVERHEAD_LEVEL, V8_OVERHEAD_LEVEL, MINIMAL_OVERHEAD_LEVEL,
|
| + or DEBUG_OVERHEAD_LEVEL. The v8 overhead level is a temporary solution
|
| + that may be removed.
|
| get_metrics_from_flags_callback: Callback function which returns a
|
| a list of metrics based on timeline record flags. See the default
|
| _GetMetricsFromFlags() as an example.
|
| @@ -219,6 +224,11 @@
|
|
|
| if self._tbm_options.overhead_level == NO_OVERHEAD_LEVEL:
|
| category_filter = tracing_category_filter.CreateNoOverheadFilter()
|
| + # TODO(ernstm): Remove this overhead level when benchmark relevant v8
|
| + # events become available in the 'benchmark' category.
|
| + elif self._tbm_options.overhead_level == V8_OVERHEAD_LEVEL:
|
| + category_filter = tracing_category_filter.CreateNoOverheadFilter()
|
| + category_filter.AddIncludedCategory('v8')
|
| elif self._tbm_options.overhead_level == MINIMAL_OVERHEAD_LEVEL:
|
| category_filter = tracing_category_filter.CreateMinimalOverheadFilter()
|
| else:
|
|
|