Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2612)

Unified Diff: base/debug/trace_event_unittest.cc

Issue 12252058: Add a |scope| argument to TRACE_EVENT_INSTANT* and require its presence. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use flags to record scope Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/debug/trace_event_unittest.cc
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
index 15e11a70f4829a10ded2606e6f52d1fe1e5e0e92..8e90836bb08c082935d245447a2c2b87248cb235 100644
--- a/base/debug/trace_event_unittest.cc
+++ b/base/debug/trace_event_unittest.cc
@@ -325,9 +325,12 @@ void TraceWithAllMacroVariants(WaitableEvent* task_complete_event) {
"name1", "\"value1\"",
"name2", "value\\2");
- TRACE_EVENT_INSTANT0("all", "TRACE_EVENT_INSTANT0 call");
- TRACE_EVENT_INSTANT1("all", "TRACE_EVENT_INSTANT1 call", "name1", "value1");
+ TRACE_EVENT_INSTANT0("all", "TRACE_EVENT_INSTANT0 call",
+ TRACE_EVENT_SCOPE_GLOBAL);
+ TRACE_EVENT_INSTANT1("all", "TRACE_EVENT_INSTANT1 call",
+ TRACE_EVENT_SCOPE_PROCESS, "name1", "value1");
TRACE_EVENT_INSTANT2("all", "TRACE_EVENT_INSTANT2 call",
+ TRACE_EVENT_SCOPE_THREAD,
"name1", "value1",
"name2", "value2");
@@ -441,10 +444,25 @@ void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) {
EXPECT_SUB_FIND_("value\\2");
EXPECT_FIND_("TRACE_EVENT_INSTANT0 call");
+ {
+ std::string scope;
+ EXPECT_TRUE((item && item->GetString("s", &scope)));
+ EXPECT_EQ("g", scope);
+ }
EXPECT_FIND_("TRACE_EVENT_INSTANT1 call");
+ {
+ std::string scope;
+ EXPECT_TRUE((item && item->GetString("s", &scope)));
+ EXPECT_EQ("p", scope);
+ }
EXPECT_SUB_FIND_("name1");
EXPECT_SUB_FIND_("value1");
EXPECT_FIND_("TRACE_EVENT_INSTANT2 call");
+ {
+ std::string scope;
+ EXPECT_TRUE((item && item->GetString("s", &scope)));
+ EXPECT_EQ("t", scope);
+ }
EXPECT_SUB_FIND_("name1");
EXPECT_SUB_FIND_("value1");
EXPECT_SUB_FIND_("name2");
@@ -655,6 +673,7 @@ void TraceManyInstantEvents(int thread_id, int num_events,
WaitableEvent* task_complete_event) {
for (int i = 0; i < num_events; i++) {
TRACE_EVENT_INSTANT2("all", "multi thread event",
+ TRACE_EVENT_SCOPE_THREAD,
"thread", thread_id,
"event", i);
}
@@ -697,7 +716,7 @@ void ValidateInstantEventPresentOnEveryThread(const ListValue& trace_parsed,
void TraceCallsWithCachedCategoryPointersPointers(const char* name_str) {
TRACE_EVENT0("category name1", name_str);
- TRACE_EVENT_INSTANT0("category name2", name_str);
+ TRACE_EVENT_INSTANT0("category name2", name_str, TRACE_EVENT_SCOPE_THREAD);
TRACE_EVENT_BEGIN0("category name3", name_str);
TRACE_EVENT_END0("category name4", name_str);
}
@@ -811,11 +830,11 @@ TEST_F(TraceEventTestFixture, Categories) {
// Test that categories that are used can be retrieved whether trace was
// enabled or disabled when the trace event was encountered.
- TRACE_EVENT_INSTANT0("c1", "name");
- TRACE_EVENT_INSTANT0("c2", "name");
+ TRACE_EVENT_INSTANT0("c1", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("c2", "name", TRACE_EVENT_SCOPE_THREAD);
BeginTrace();
- TRACE_EVENT_INSTANT0("c3", "name");
- TRACE_EVENT_INSTANT0("c4", "name");
+ TRACE_EVENT_INSTANT0("c3", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("c4", "name", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
std::vector<std::string> cats;
TraceLog::GetInstance()->GetKnownCategories(&cats);
@@ -835,8 +854,8 @@ TEST_F(TraceEventTestFixture, Categories) {
included_categories.clear();
included_categories.push_back("not_found823564786");
TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories);
- TRACE_EVENT_INSTANT0("cat1", "name");
- TRACE_EVENT_INSTANT0("cat2", "name");
+ TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(trace_parsed_.empty());
@@ -845,8 +864,8 @@ TEST_F(TraceEventTestFixture, Categories) {
included_categories.clear();
included_categories.push_back("inc");
TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories);
- TRACE_EVENT_INSTANT0("inc", "name");
- TRACE_EVENT_INSTANT0("inc2", "name");
+ TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(FindMatchingValue("cat", "inc"));
EXPECT_FALSE(FindNonMatchingValue("cat", "inc"));
@@ -857,12 +876,15 @@ TEST_F(TraceEventTestFixture, Categories) {
included_categories.push_back("inc_wildcard_*");
included_categories.push_back("inc_wildchar_?_end");
TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories);
- TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included");
- TRACE_EVENT_INSTANT0("inc_wildcard_", "included");
- TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "included");
- TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "not_inc");
- TRACE_EVENT_INSTANT0("cat1", "not_inc");
- TRACE_EVENT_INSTANT0("cat2", "not_inc");
+ TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included",
+ TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildcard_", "included", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "included",
+ TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "not_inc",
+ TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat1", "not_inc", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat2", "not_inc", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_abc"));
EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_"));
@@ -876,8 +898,8 @@ TEST_F(TraceEventTestFixture, Categories) {
excluded_categories.clear();
excluded_categories.push_back("not_found823564786");
TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories);
- TRACE_EVENT_INSTANT0("cat1", "name");
- TRACE_EVENT_INSTANT0("cat2", "name");
+ TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
@@ -887,8 +909,8 @@ TEST_F(TraceEventTestFixture, Categories) {
excluded_categories.clear();
excluded_categories.push_back("inc");
TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories);
- TRACE_EVENT_INSTANT0("inc", "name");
- TRACE_EVENT_INSTANT0("inc2", "name");
+ TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(FindMatchingValue("cat", "inc2"));
EXPECT_FALSE(FindMatchingValue("cat", "inc"));
@@ -899,12 +921,14 @@ TEST_F(TraceEventTestFixture, Categories) {
excluded_categories.push_back("inc_wildcard_*");
excluded_categories.push_back("inc_wildchar_?_end");
TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories);
- TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc");
- TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc");
- TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "not_inc");
- TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included");
- TRACE_EVENT_INSTANT0("cat1", "included");
- TRACE_EVENT_INSTANT0("cat2", "included");
+ TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "not_inc",
+ TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included",
+ TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat1", "included", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("cat2", "included", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_bla_end"));
EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
@@ -920,13 +944,13 @@ TEST_F(TraceEventTestFixture, EventWatchNotification) {
// Basic one occurrence.
BeginTrace();
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
- TRACE_EVENT_INSTANT0("cat", "event");
+ TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 1);
// Basic one occurrence before Set.
BeginTrace();
- TRACE_EVENT_INSTANT0("cat", "event");
+ TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 1);
@@ -936,7 +960,7 @@ TEST_F(TraceEventTestFixture, EventWatchNotification) {
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
EndTraceAndFlush();
BeginTrace();
- TRACE_EVENT_INSTANT0("cat", "event");
+ TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 0);
@@ -945,21 +969,21 @@ TEST_F(TraceEventTestFixture, EventWatchNotification) {
int num_occurrences = 5;
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
for (int i = 0; i < num_occurrences; ++i)
- TRACE_EVENT_INSTANT0("cat", "event");
+ TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, num_occurrences);
// Wrong category.
BeginTrace();
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
- TRACE_EVENT_INSTANT0("wrong_cat", "event");
+ TRACE_EVENT_INSTANT0("wrong_cat", "event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 0);
// Wrong name.
BeginTrace();
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
- TRACE_EVENT_INSTANT0("cat", "wrong_event");
+ TRACE_EVENT_INSTANT0("cat", "wrong_event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 0);
@@ -967,7 +991,7 @@ TEST_F(TraceEventTestFixture, EventWatchNotification) {
BeginTrace();
TraceLog::GetInstance()->SetWatchEvent("cat", "event");
TraceLog::GetInstance()->CancelWatchEvent();
- TRACE_EVENT_INSTANT0("cat", "event");
+ TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
EXPECT_EQ(event_watch_notification_, 0);
}
@@ -1222,20 +1246,20 @@ TEST_F(TraceEventTestFixture, ThreadNameChanges) {
BeginTrace();
PlatformThread::SetName("");
- TRACE_EVENT_INSTANT0("drink", "water");
+ TRACE_EVENT_INSTANT0("drink", "water", TRACE_EVENT_SCOPE_THREAD);
PlatformThread::SetName("cafe");
- TRACE_EVENT_INSTANT0("drink", "coffee");
+ TRACE_EVENT_INSTANT0("drink", "coffee", TRACE_EVENT_SCOPE_THREAD);
PlatformThread::SetName("shop");
// No event here, so won't appear in combined name.
PlatformThread::SetName("pub");
- TRACE_EVENT_INSTANT0("drink", "beer");
- TRACE_EVENT_INSTANT0("drink", "wine");
+ TRACE_EVENT_INSTANT0("drink", "beer", TRACE_EVENT_SCOPE_THREAD);
+ TRACE_EVENT_INSTANT0("drink", "wine", TRACE_EVENT_SCOPE_THREAD);
PlatformThread::SetName(" bar");
- TRACE_EVENT_INSTANT0("drink", "whisky");
+ TRACE_EVENT_INSTANT0("drink", "whisky", TRACE_EVENT_SCOPE_THREAD);
EndTraceAndFlush();
@@ -1274,11 +1298,13 @@ TEST_F(TraceEventTestFixture, AtExit) {
// so that it will be destroyed when this scope closes.
ManualTestSetUp();
- TRACE_EVENT_INSTANT0("all", "not recorded; system not enabled");
+ TRACE_EVENT_INSTANT0("all", "not recorded; system not enabled",
+ TRACE_EVENT_SCOPE_THREAD);
BeginTrace();
- TRACE_EVENT_INSTANT0("all", "is recorded 1; system has been enabled");
+ TRACE_EVENT_INSTANT0("all", "is recorded 1; system has been enabled",
+ TRACE_EVENT_SCOPE_THREAD);
// Trace calls that will cache pointers to categories; they're valid here
TraceCallsWithCachedCategoryPointersPointers(
"is recorded 2; system has been enabled");
@@ -1301,12 +1327,14 @@ TEST_F(TraceEventTestFixture, AtExit) {
TRACE_EVENT_END_ETW("not recorded; system shutdown", 0, NULL);
TRACE_EVENT_INSTANT_ETW("not recorded; system shutdown", 0, NULL);
TRACE_EVENT0("all", "not recorded; system shutdown");
- TRACE_EVENT_INSTANT0("all", "not recorded; system shutdown");
+ TRACE_EVENT_INSTANT0("all", "not recorded; system shutdown",
+ TRACE_EVENT_SCOPE_THREAD);
TRACE_EVENT_BEGIN0("all", "not recorded; system shutdown");
TRACE_EVENT_END0("all", "not recorded; system shutdown");
TRACE_EVENT0("new category 0!", "not recorded; system shutdown");
- TRACE_EVENT_INSTANT0("new category 1!", "not recorded; system shutdown");
+ TRACE_EVENT_INSTANT0("new category 1!", "not recorded; system shutdown",
+ TRACE_EVENT_SCOPE_THREAD);
TRACE_EVENT_BEGIN0("new category 2!", "not recorded; system shutdown");
TRACE_EVENT_END0("new category 3!", "not recorded; system shutdown");
@@ -1325,7 +1353,8 @@ TEST_F(TraceEventTestFixture, NormallyNoDeepCopy) {
std::string name_string("event name");
BeginTrace();
- TRACE_EVENT_INSTANT0("category", name_string.c_str());
+ TRACE_EVENT_INSTANT0("category", name_string.c_str(),
+ TRACE_EVENT_SCOPE_THREAD);
// Modify the string in place (a wholesale reassignment may leave the old
// string intact on the heap).
@@ -1352,7 +1381,8 @@ TEST_F(TraceEventTestFixture, DeepCopy) {
std::string val2("val2");
BeginTrace();
- TRACE_EVENT_COPY_INSTANT0("category", name1.c_str());
+ TRACE_EVENT_COPY_INSTANT0("category", name1.c_str(),
+ TRACE_EVENT_SCOPE_THREAD);
TRACE_EVENT_COPY_BEGIN1("category", name2.c_str(),
arg1.c_str(), 5);
TRACE_EVENT_COPY_END2("category", name3.c_str(),
@@ -1416,12 +1446,12 @@ TEST_F(TraceEventTestFixture, TracingIsLazy) {
BeginTrace();
int a = 0;
- TRACE_EVENT_INSTANT1("category", "test", "a", a++);
+ TRACE_EVENT_INSTANT1("category", "test", TRACE_EVENT_SCOPE_THREAD, "a", a++);
EXPECT_EQ(1, a);
TraceLog::GetInstance()->SetDisabled();
- TRACE_EVENT_INSTANT1("category", "test", "a", a++);
+ TRACE_EVENT_INSTANT1("category", "test", TRACE_EVENT_SCOPE_THREAD, "a", a++);
EXPECT_EQ(1, a);
EndTraceAndFlush();

Powered by Google App Engine
This is Rietveld 408576698