Change JIT timings to collect thread CPU time.
Test: m
Test: timing_logger_test.cc
Change-Id: I26fd86e66c4dd967dc62b629f6b6cde97b71ed13
diff --git a/runtime/base/timing_logger_test.cc b/runtime/base/timing_logger_test.cc
index 35a73d0..770d2c0 100644
--- a/runtime/base/timing_logger_test.cc
+++ b/runtime/base/timing_logger_test.cc
@@ -158,4 +158,21 @@
EXPECT_LE(timings[idx_innerinnersplit1].GetTime(), timings[idx_innerinnersplit2].GetTime());
}
+TEST_F(TimingLoggerTest, ThreadCpuAndMonotonic) {
+ TimingLogger mon_logger("Scoped", true, false, TimingLogger::TimingKind::kMonotonic);
+ TimingLogger cpu_logger("Scoped", true, false, TimingLogger::TimingKind::kThreadCpu);
+ mon_logger.StartTiming("MON");
+ cpu_logger.StartTiming("CPU");
+
+ sleep(2);
+
+ cpu_logger.EndTiming();
+ mon_logger.EndTiming();
+ uint64_t mon_timing = mon_logger.GetTimings()[1].GetTime() - mon_logger.GetTimings()[0].GetTime();
+ uint64_t cpu_timing = cpu_logger.GetTimings()[1].GetTime() - cpu_logger.GetTimings()[0].GetTime();
+ EXPECT_LT(cpu_timing, MsToNs(1000u));
+ EXPECT_GT(mon_timing, MsToNs(1000u));
+ EXPECT_LT(cpu_timing, mon_timing);
+}
+
} // namespace art