Commit 87caa6d1 authored by Tim Zheng's avatar Tim Zheng Committed by Commit Bot

Avoid calling SetTaskRunner on RepeatingTimer.

This is to avoid a sequence checker debug error.

BUG=b/113298882
TEST=Manually tested on Linux workstation simulator.

Change-Id: I07b43e315335bf95e67b4567aedd4b7466cc5391
Reviewed-on: https://chromium-review.googlesource.com/1213950Reviewed-by: default avatarNicholas Verne <nverne@chromium.org>
Commit-Queue: Tim Zheng <timzheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589715}
parent b2c4b0e6
......@@ -38,7 +38,6 @@ CrosvmMetrics::CrosvmMetrics()
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})),
page_size_(sysconf(_SC_PAGESIZE)),
weak_ptr_factory_(this) {
timer_.SetTaskRunner(task_runner_);
}
CrosvmMetrics::~CrosvmMetrics() = default;
......@@ -95,6 +94,12 @@ int CrosvmMetrics::CalculateCrosvmCpuPercentage(
}
void CrosvmMetrics::MetricsCycleCallback() {
task_runner_->PostNonNestableTask(
FROM_HERE, base::BindOnce(&CrosvmMetrics::MetricsCycle,
weak_ptr_factory_.GetWeakPtr()));
}
void CrosvmMetrics::MetricsCycle() {
if (!cycle_start_data_collected_) {
CollectCycleStartData();
return;
......
......@@ -43,9 +43,12 @@ class CrosvmMetrics {
int64_t cycle_cpu_time);
private:
// Callback for resource metrics measurement and report.
// Callback to post MetricsCycle() to a blocking thread.
void MetricsCycleCallback();
// Measures resource metrics and emit UMA histograms.
void MetricsCycle();
// Collect the crosvm process data and system CPU usage data at the start of
// the 10-minute cycle.
void CollectCycleStartData();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment