Index: content/browser/tracing/background_tracing_manager_impl.cc |
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc |
index 70215ba36275cd92babc9fbfb646ad4638fad115..be40081fa7558055bc1f7705e6d98f7f0daa4656 100644 |
--- a/content/browser/tracing/background_tracing_manager_impl.cc |
+++ b/content/browser/tracing/background_tracing_manager_impl.cc |
@@ -37,6 +37,7 @@ enum BackgroundTracingMetrics { |
FINALIZATION_DISALLOWED = 6, |
FINALIZATION_STARTED = 7, |
FINALIZATION_COMPLETE = 8, |
+ SCENARIO_ACTION_FAILED_LOWRES_CLOCK = 9, |
NUMBER_OF_BACKGROUND_TRACING_METRICS, |
}; |
@@ -132,6 +133,13 @@ bool BackgroundTracingManagerImpl::SetActiveScenario( |
if (is_tracing_) |
return false; |
+ // If we don't have a high resolution timer available, traces will be |
+ // too inaccurate to be useful. |
+ if (!base::TimeTicks::IsHighResolution()) { |
+ RecordBackgroundTracingMetric(SCENARIO_ACTION_FAILED_LOWRES_CLOCK); |
+ return false; |
+ } |
+ |
bool requires_anonymized_data = (data_filtering == ANONYMIZE_DATA); |
// If the I/O thread isn't running, this is a startup scenario and |