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

Side by Side Diff: base/trace_event/trace_event_unittest.cc

Issue 2504753002: tracing: Introduce API for composite IDs (Closed)
Patch Set: Slightly more efficient implementation Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/trace_event/trace_event.h" 5 #include "base/trace_event/trace_event.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 context_id); 517 context_id);
518 518
519 TRACE_LINK_IDS("all", "TRACE_LINK_IDS simple call", 0x1000, 0x2000); 519 TRACE_LINK_IDS("all", "TRACE_LINK_IDS simple call", 0x1000, 0x2000);
520 TRACE_LINK_IDS("all", "TRACE_LINK_IDS scoped call", 520 TRACE_LINK_IDS("all", "TRACE_LINK_IDS scoped call",
521 TRACE_ID_WITH_SCOPE("scope 1", 0x1000), 521 TRACE_ID_WITH_SCOPE("scope 1", 0x1000),
522 TRACE_ID_WITH_SCOPE("scope 2", 0x2000)); 522 TRACE_ID_WITH_SCOPE("scope 2", 0x2000));
523 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a local ID", 0x1000, 523 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a local ID", 0x1000,
524 TRACE_ID_LOCAL(0x2000)); 524 TRACE_ID_LOCAL(0x2000));
525 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a global ID", 0x1000, 525 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a global ID", 0x1000,
526 TRACE_ID_GLOBAL(0x2000)); 526 TRACE_ID_GLOBAL(0x2000));
527 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a composite ID", 0x1000,
528 TRACE_ID_COMPOSITE(0x2000, 0x3000));
527 529
528 TRACE_EVENT_ASYNC_BEGIN0("all", "async default process scope", 0x1000); 530 TRACE_EVENT_ASYNC_BEGIN0("all", "async default process scope", 0x1000);
529 TRACE_EVENT_ASYNC_BEGIN0("all", "async local id", TRACE_ID_LOCAL(0x2000)); 531 TRACE_EVENT_ASYNC_BEGIN0("all", "async local id", TRACE_ID_LOCAL(0x2000));
530 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id", TRACE_ID_GLOBAL(0x3000)); 532 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id", TRACE_ID_GLOBAL(0x3000));
531 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id with scope string", 533 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id with scope string",
532 TRACE_ID_WITH_SCOPE("scope string", 534 TRACE_ID_WITH_SCOPE("scope string",
533 TRACE_ID_GLOBAL(0x4000))); 535 TRACE_ID_GLOBAL(0x4000)));
534 } // Scope close causes TRACE_EVENT0 etc to send their END events. 536 } // Scope close causes TRACE_EVENT0 etc to send their END events.
535 537
536 if (task_complete_event) 538 if (task_complete_event)
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 std::string id1; 1039 std::string id1;
1038 EXPECT_TRUE((item && item->GetString("id", &id1))); 1040 EXPECT_TRUE((item && item->GetString("id", &id1)));
1039 EXPECT_EQ("0x1000", id1); 1041 EXPECT_EQ("0x1000", id1);
1040 1042
1041 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope"))); 1043 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
1042 std::string id2; 1044 std::string id2;
1043 EXPECT_TRUE((item && item->GetString("args.linked_id.id2.global", &id2))); 1045 EXPECT_TRUE((item && item->GetString("args.linked_id.id2.global", &id2)));
1044 EXPECT_EQ("0x2000", id2); 1046 EXPECT_EQ("0x2000", id2);
1045 } 1047 }
1046 1048
1049 EXPECT_FIND_("TRACE_LINK_IDS to a composite ID");
1050 {
1051 std::string ph;
1052 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1053 EXPECT_EQ("=", ph);
1054
1055 EXPECT_FALSE(item->HasKey("scope"));
1056 std::string id1;
1057 EXPECT_TRUE(item->GetString("id", &id1));
1058 EXPECT_EQ("0x1000", id1);
1059
1060 EXPECT_FALSE(item->HasKey("args.linked_id.scope"));
1061 const base::ListValue* id2 = nullptr;
1062 EXPECT_TRUE(item->GetList("args.linked_id.id", &id2));
1063 EXPECT_EQ(static_cast<size_t>(2), id2->GetSize());
1064 std::string part1;
1065 EXPECT_TRUE(id2->GetString(0, &part1));
1066 EXPECT_EQ("0x2000", part1);
1067 std::string part2;
1068 EXPECT_TRUE(id2->GetString(1, &part2));
1069 EXPECT_EQ("0x3000", part2);
1070 }
1071
1047 EXPECT_FIND_("async default process scope"); 1072 EXPECT_FIND_("async default process scope");
1048 { 1073 {
1049 std::string ph; 1074 std::string ph;
1050 EXPECT_TRUE((item && item->GetString("ph", &ph))); 1075 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1051 EXPECT_EQ("S", ph); 1076 EXPECT_EQ("S", ph);
1052 1077
1053 std::string id; 1078 std::string id;
1054 EXPECT_TRUE((item && item->GetString("id", &id))); 1079 EXPECT_TRUE((item && item->GetString("id", &id)));
1055 EXPECT_EQ("0x1000", id); 1080 EXPECT_EQ("0x1000", id);
1056 } 1081 }
(...skipping 2146 matching lines...) Expand 10 before | Expand all | Expand 10 after
3203 3228
3204 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) { 3229 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) {
3205 BeginSpecificTrace("-*"); 3230 BeginSpecificTrace("-*");
3206 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1); 3231 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1);
3207 EndTraceAndFlush(); 3232 EndTraceAndFlush();
3208 EXPECT_TRUE(FindNamePhase("clock_sync", "c")); 3233 EXPECT_TRUE(FindNamePhase("clock_sync", "c"));
3209 } 3234 }
3210 3235
3211 } // namespace trace_event 3236 } // namespace trace_event
3212 } // namespace base 3237 } // namespace base
OLDNEW
« base/trace_event/trace_event_impl.cc ('K') | « base/trace_event/trace_event_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698