| Index: base/debug/trace_event_unittest.cc
|
| diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
|
| index ce076046cbbbd4e3192c60f3f1f1eaf13d4b20fe..cb9abda9e7ff9c054ca829341d303fac2d564219 100644
|
| --- a/base/debug/trace_event_unittest.cc
|
| +++ b/base/debug/trace_event_unittest.cc
|
| @@ -81,9 +81,10 @@ class TraceEventTestFixture : public testing::Test {
|
|
|
| void BeginSpecificTrace(const std::string& filter) {
|
| event_watch_notification_ = 0;
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter(filter),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| }
|
|
|
| void EndTraceAndFlush() {
|
| @@ -882,9 +883,10 @@ void HighResSleepForTraceTest(base::TimeDelta elapsed) {
|
|
|
| // Simple Test for emitting data and validating it was received.
|
| TEST_F(TraceEventTestFixture, DataCaptured) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| TraceWithAllMacroVariants(NULL);
|
|
|
| @@ -906,9 +908,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) {
|
|
|
| EXPECT_CALL(observer, OnTraceLogEnabled())
|
| .Times(1);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| testing::Mock::VerifyAndClear(&observer);
|
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
|
|
|
| @@ -918,9 +921,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) {
|
| }
|
|
|
| TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| testing::StrictMock<MockEnabledStateChangedObserver> observer;
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
| @@ -929,9 +933,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) {
|
| .Times(0);
|
| EXPECT_CALL(observer, OnTraceLogDisabled())
|
| .Times(0);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| testing::Mock::VerifyAndClear(&observer);
|
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
|
|
|
| @@ -943,12 +948,14 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) {
|
|
|
| TEST_F(TraceEventTestFixture, EnabledObserverFiresOnFirstDisable) {
|
| CategoryFilter cf_inc_all("*");
|
| - TraceLog::GetInstance()->SetEnabled(cf_inc_all,
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| - TraceLog::GetInstance()->SetEnabled(cf_inc_all,
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + cf_inc_all,
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + cf_inc_all,
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| testing::StrictMock<MockEnabledStateChangedObserver> observer;
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
| @@ -966,9 +973,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnFirstDisable) {
|
| }
|
|
|
| TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| MockEnabledStateChangedObserver observer;
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
| @@ -1003,9 +1011,10 @@ TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) {
|
| AfterStateChangeEnabledStateObserver observer;
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
|
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
|
|
|
| TraceLog::GetInstance()->SetDisabled();
|
| @@ -1036,9 +1045,10 @@ TEST_F(TraceEventTestFixture, SelfRemovingObserver) {
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
| EXPECT_EQ(1u, TraceLog::GetInstance()->GetObserverCountForTest());
|
|
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TraceLog::GetInstance()->SetDisabled();
|
| // The observer removed itself on disable.
|
| EXPECT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest());
|
| @@ -1052,9 +1062,10 @@ bool IsNewTrace() {
|
|
|
| TEST_F(TraceEventTestFixture, NewTraceRecording) {
|
| ASSERT_FALSE(IsNewTrace());
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| // First call to IsNewTrace() should succeed. But, the second shouldn't.
|
| ASSERT_TRUE(IsNewTrace());
|
| ASSERT_FALSE(IsNewTrace());
|
| @@ -1065,9 +1076,10 @@ TEST_F(TraceEventTestFixture, NewTraceRecording) {
|
|
|
| // Start another trace. IsNewTrace() should become true again, briefly, as
|
| // before.
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| ASSERT_TRUE(IsNewTrace());
|
| ASSERT_FALSE(IsNewTrace());
|
|
|
| @@ -1122,9 +1134,10 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| // Include nonexistent category -> no events
|
| Clear();
|
| included_categories.clear();
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("not_found823564786"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("not_found823564786"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| EndTraceAndFlush();
|
| @@ -1134,9 +1147,10 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| // Include existent category -> only events of that category
|
| Clear();
|
| included_categories.clear();
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("inc"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("inc"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| EndTraceAndFlush();
|
| @@ -1150,7 +1164,7 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| TraceLog::GetInstance()->SetEnabled(
|
| CategoryFilter("inc_wildcard_*,inc_wildchar_?_end"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included",
|
| TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc_wildcard_", "included", TRACE_EVENT_SCOPE_THREAD);
|
| @@ -1178,9 +1192,10 @@ TEST_F(TraceEventTestFixture, Categories) {
|
|
|
| // Exclude nonexistent category -> all events
|
| Clear();
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("-not_found823564786"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("-not_found823564786"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("category1,category2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| @@ -1191,9 +1206,10 @@ TEST_F(TraceEventTestFixture, Categories) {
|
|
|
| // Exclude existent category -> only events of other categories
|
| Clear();
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("-inc"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("-inc"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc2,inc", "name", TRACE_EVENT_SCOPE_THREAD);
|
| @@ -1209,7 +1225,7 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| TraceLog::GetInstance()->SetEnabled(
|
| CategoryFilter("-inc_wildcard_*,-inc_wildchar_?_end"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc",
|
| TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc",
|
| @@ -1718,19 +1734,19 @@ TEST_F(TraceEventTestFixture, TraceEnableDisable) {
|
| CategoryFilter cf_inc_all("*");
|
| trace_log->SetEnabled(cf_inc_all,
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(trace_log->IsEnabled());
|
| trace_log->SetDisabled();
|
| EXPECT_FALSE(trace_log->IsEnabled());
|
|
|
| trace_log->SetEnabled(cf_inc_all,
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(trace_log->IsEnabled());
|
| const std::vector<std::string> empty;
|
| trace_log->SetEnabled(CategoryFilter(""),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(trace_log->IsEnabled());
|
| trace_log->SetDisabled();
|
| EXPECT_FALSE(trace_log->IsEnabled());
|
| @@ -1742,19 +1758,19 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) {
|
| TraceLog* trace_log = TraceLog::GetInstance();
|
| trace_log->SetEnabled(CategoryFilter("foo,bar"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar"));
|
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("baz"));
|
| trace_log->SetEnabled(CategoryFilter("foo2"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo2"));
|
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("baz"));
|
| // The "" becomes the default catergory set when applied.
|
| trace_log->SetEnabled(CategoryFilter(""),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz"));
|
| EXPECT_STREQ("-*Debug,-*Test",
|
| @@ -1767,12 +1783,12 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) {
|
|
|
| trace_log->SetEnabled(CategoryFilter("-foo,-bar"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("foo"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz"));
|
| trace_log->SetEnabled(CategoryFilter("moo"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("moo"));
|
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("foo"));
|
| @@ -1784,11 +1800,11 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) {
|
| // Make sure disabled categories aren't cleared if we set in the second.
|
| trace_log->SetEnabled(CategoryFilter("disabled-by-default-cc,foo"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("bar"));
|
| trace_log->SetEnabled(CategoryFilter("disabled-by-default-gpu"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu"));
|
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar"));
|
| @@ -1802,8 +1818,7 @@ TEST_F(TraceEventTestFixture, TraceSampling) {
|
| TraceLog::GetInstance()->SetEnabled(
|
| CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
|
| - TraceLog::ENABLE_SAMPLING));
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL).EnableSampling(true));
|
|
|
| TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff");
|
| TraceLog::GetInstance()->WaitSamplingEventForTesting();
|
| @@ -1821,8 +1836,7 @@ TEST_F(TraceEventTestFixture, TraceSamplingScope) {
|
| TraceLog::GetInstance()->SetEnabled(
|
| CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
|
| - TraceLog::ENABLE_SAMPLING));
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL).EnableSampling(true));
|
|
|
| TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name");
|
| TraceLog::GetInstance()->WaitSamplingEventForTesting();
|
| @@ -1856,7 +1870,7 @@ TEST_F(TraceEventTestFixture, TraceContinuousSampling) {
|
| TraceLog::GetInstance()->SetEnabled(
|
| CategoryFilter("*"),
|
| base::debug::TraceLog::MONITORING_MODE,
|
| - TraceLog::Options(TraceLog::ENABLE_SAMPLING));
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL).EnableSampling(true));
|
|
|
| TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA");
|
| TraceLog::GetInstance()->WaitSamplingEventForTesting();
|
| @@ -1913,9 +1927,10 @@ class MyData : public base::debug::ConvertableToTraceFormat {
|
| };
|
|
|
| TEST_F(TraceEventTestFixture, ConvertableTypes) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| scoped_refptr<ConvertableToTraceFormat> data(new MyData());
|
| scoped_refptr<ConvertableToTraceFormat> data1(new MyData());
|
| @@ -2019,9 +2034,10 @@ TEST_F(TraceEventTestFixture, ConvertableTypes) {
|
| }
|
|
|
| TEST_F(TraceEventTestFixture, PrimitiveArgs) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
|
|
| TRACE_EVENT1("foo", "event1", "int_one", 1);
|
| TRACE_EVENT1("foo", "event2", "int_neg_ten", -10);
|
| @@ -2282,9 +2298,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallback) {
|
| }
|
|
|
| TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) {
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| do {
|
| TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL);
|
| } while (!TraceLog::GetInstance()->BufferIsFull());
|
| @@ -2304,9 +2321,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) {
|
| Callback);
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("recording"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| TraceLog::GetInstance()->SetEventCallbackDisabled();
|
| @@ -2328,9 +2346,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) {
|
| Callback);
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("recording"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| EndTraceAndFlush();
|
| @@ -2348,9 +2367,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) {
|
| TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("recording"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("callback"),
|
| @@ -2372,9 +2392,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) {
|
| TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording4) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("recording"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("callback"),
|
| @@ -2397,9 +2418,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecordingDuration) {
|
| Callback);
|
| {
|
| TRACE_EVENT0("callback", "duration1");
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| TRACE_EVENT0("callback", "duration2");
|
| EndTraceAndFlush();
|
| TRACE_EVENT0("callback", "duration3");
|
| @@ -2424,8 +2446,8 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecordingDuration) {
|
| TEST_F(TraceEventTestFixture, MAYBE_TraceBufferVectorReportFull) {
|
| TraceLog* trace_log = TraceLog::GetInstance();
|
| trace_log->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_UNTIL_FULL);
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::RECORD_UNTIL_FULL));
|
| trace_log->logged_events_.reset(
|
| trace_log->CreateTraceBufferVectorOfSize(100));
|
| do {
|
| @@ -2472,7 +2494,7 @@ TEST_F(TraceEventTestFixture, MAYBE_TraceBufferVectorReportFull) {
|
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) {
|
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_CONTINUOUSLY);
|
| + TraceOptions("record-continuously"));
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
|
| size_t capacity = buffer->Capacity();
|
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
|
| @@ -2532,7 +2554,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) {
|
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) {
|
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_CONTINUOUSLY);
|
| + TraceOptions("record-continuously"));
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
|
| size_t capacity = buffer->Capacity();
|
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
|
| @@ -2560,7 +2582,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) {
|
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferFullIteration) {
|
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::RECORD_CONTINUOUSLY);
|
| + TraceOptions("record-continuously"));
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
|
| size_t capacity = buffer->Capacity();
|
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
|
| @@ -2716,6 +2738,41 @@ TEST_F(TraceEventTestFixture, SetCurrentThreadBlocksMessageLoopBeforeTracing) {
|
| thread.Stop();
|
| }
|
|
|
| +TEST_F(TraceEventTestFixture, ConvertTraceOptionsToInternalOptions) {
|
| + TraceLog* trace_log = TraceLog::GetInstance();
|
| + TraceOptions options(TraceOptions::RECORD_UNTIL_FULL);
|
| + EXPECT_TRUE(TraceLog::RECORD_UNTIL_FULL &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +
|
| + options.record_mode = TraceOptions::RECORD_CONTINUOUSLY;
|
| + EXPECT_TRUE(TraceLog::RECORD_CONTINUOUSLY &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +
|
| + options.record_mode = TraceOptions::ECHO_TO_CONSOLE;
|
| + EXPECT_TRUE(TraceLog::ECHO_TO_CONSOLE &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +
|
| + options.enable_sampling = true;
|
| +
|
| + options.record_mode = TraceOptions::RECORD_UNTIL_FULL;
|
| + EXPECT_TRUE(TraceLog::RECORD_UNTIL_FULL &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| + EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +
|
| + options.record_mode = TraceOptions::RECORD_CONTINUOUSLY;
|
| + EXPECT_TRUE(TraceLog::RECORD_CONTINUOUSLY &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| + EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +
|
| + options.record_mode = TraceOptions::ECHO_TO_CONSOLE;
|
| + EXPECT_TRUE(TraceLog::ECHO_TO_CONSOLE &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| + EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
|
| + trace_log->GetInternalOptionsFromTraceOptions(options));
|
| +}
|
| +
|
| void SetBlockingFlagAndBlockUntilStopped(WaitableEvent* task_start_event,
|
| WaitableEvent* task_stop_event) {
|
| TraceLog::GetInstance()->SetCurrentThreadBlocksMessageLoop();
|
| @@ -2807,9 +2864,10 @@ TEST_F(TraceEventTestFixture, EchoToConsole) {
|
| logging::GetLogMessageHandler();
|
| logging::SetLogMessageHandler(MockLogMessageHandler);
|
|
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::ECHO_TO_CONSOLE);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::ECHO_TO_CONSOLE));
|
| TRACE_EVENT_BEGIN0("a", "begin_end");
|
| {
|
| TRACE_EVENT0("b", "duration");
|
| @@ -2843,9 +2901,10 @@ TEST_F(TraceEventTestFixture, EchoToConsoleTraceEventRecursion) {
|
| logging::GetLogMessageHandler();
|
| logging::SetLogMessageHandler(LogMessageHandlerWithTraceEvent);
|
|
|
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
|
| - base::debug::TraceLog::RECORDING_MODE,
|
| - TraceLog::ECHO_TO_CONSOLE);
|
| + TraceLog::GetInstance()->SetEnabled(
|
| + CategoryFilter("*"),
|
| + base::debug::TraceLog::RECORDING_MODE,
|
| + TraceOptions(TraceOptions::ECHO_TO_CONSOLE));
|
| {
|
| // This should not cause deadlock or infinite recursion.
|
| TRACE_EVENT0("b", "duration");
|
| @@ -2932,5 +2991,62 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
|
| EXPECT_EQ(config, filter.ToString());
|
| }
|
|
|
| +TEST(TraceOptionsTest, TraceOptionsFromString) {
|
| + TraceOptions options = TraceOptions("record-until-full");
|
| + EXPECT_EQ(TraceOptions::RECORD_UNTIL_FULL, options.record_mode);
|
| + EXPECT_FALSE(options.enable_sampling);
|
| +
|
| + options = TraceOptions("record-continuously");
|
| + EXPECT_EQ(TraceOptions::RECORD_CONTINUOUSLY, options.record_mode);
|
| + EXPECT_FALSE(options.enable_sampling);
|
| + EXPECT_FALSE(options.enable_systrace);
|
| +
|
| + options = TraceOptions("trace-to-console");
|
| + EXPECT_EQ(TraceOptions::ECHO_TO_CONSOLE, options.record_mode);
|
| + EXPECT_FALSE(options.enable_sampling);
|
| + EXPECT_FALSE(options.enable_systrace);
|
| +
|
| + options = TraceOptions("record-until-full, enable-sampling");
|
| + EXPECT_EQ(TraceOptions::RECORD_UNTIL_FULL, options.record_mode);
|
| + EXPECT_TRUE(options.enable_sampling);
|
| + EXPECT_FALSE(options.enable_systrace);
|
| +
|
| + options = TraceOptions("enable-systrace,record-continuously");
|
| + EXPECT_EQ(TraceOptions::RECORD_CONTINUOUSLY, options.record_mode);
|
| + EXPECT_FALSE(options.enable_sampling);
|
| + EXPECT_TRUE(options.enable_systrace);
|
| +
|
| + options = TraceOptions("enable-systrace, trace-to-console,enable-sampling");
|
| + EXPECT_EQ(TraceOptions::ECHO_TO_CONSOLE, options.record_mode);
|
| + EXPECT_TRUE(options.enable_sampling);
|
| + EXPECT_TRUE(options.enable_systrace);
|
| +}
|
| +
|
| +TEST(TraceOptionsTest, TraceOptionsToString) {
|
| + // Test that we can intialize TraceOptions from a string got from
|
| + // TraceOptions.ToString() method to get a same TraceOptions.
|
| + TraceOptions::RecordMode modes[] = {TraceOptions::RECORD_UNTIL_FULL,
|
| + TraceOptions::RECORD_CONTINUOUSLY,
|
| + TraceOptions::ECHO_TO_CONSOLE};
|
| + bool enable_sampling_options[] = {true, false};
|
| + bool enable_systrace_options[] = {true, false};
|
| +
|
| + for (int i = 0; i < 3; ++i) {
|
| + for (int j = 0; j < 2; ++j) {
|
| + for (int k = 0; k < 2; ++k) {
|
| + TraceOptions original_option =
|
| + TraceOptions(modes[i])
|
| + .EnableSampling(enable_sampling_options[j])
|
| + .EnableSystrace(enable_systrace_options[k]);
|
| + TraceOptions new_options = TraceOptions(original_option.ToString());
|
| + EXPECT_EQ(original_option.record_mode, new_options.record_mode);
|
| + EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling);
|
| + EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace);
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| } // namespace debug
|
| } // namespace base
|
|
|