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

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

Issue 2162183002: Binds an ID to a Globally Unique ID. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@netinst_macros
Patch Set: reimplemented Created 4 years, 4 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 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 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 TRACE_EVENT_ENTER_CONTEXT("all", "TRACE_EVENT_ENTER_CONTEXT call", 511 TRACE_EVENT_ENTER_CONTEXT("all", "TRACE_EVENT_ENTER_CONTEXT call",
512 TRACE_ID_WITH_SCOPE("scope", context_id)); 512 TRACE_ID_WITH_SCOPE("scope", context_id));
513 TRACE_EVENT_LEAVE_CONTEXT("all", "TRACE_EVENT_LEAVE_CONTEXT call", 513 TRACE_EVENT_LEAVE_CONTEXT("all", "TRACE_EVENT_LEAVE_CONTEXT call",
514 TRACE_ID_WITH_SCOPE("scope", context_id)); 514 TRACE_ID_WITH_SCOPE("scope", context_id));
515 TRACE_EVENT_SCOPED_CONTEXT("disabled-by-default-cat", 515 TRACE_EVENT_SCOPED_CONTEXT("disabled-by-default-cat",
516 "TRACE_EVENT_SCOPED_CONTEXT disabled call", 516 "TRACE_EVENT_SCOPED_CONTEXT disabled call",
517 context_id); 517 context_id);
518 TRACE_EVENT_SCOPED_CONTEXT("all", "TRACE_EVENT_SCOPED_CONTEXT call", 518 TRACE_EVENT_SCOPED_CONTEXT("all", "TRACE_EVENT_SCOPED_CONTEXT call",
519 context_id); 519 context_id);
520 520
521 TRACE_BIND_IDS("all", "TRACE_BIND_IDS simple call", 0x1000, 0x2000); 521 TRACE_LINK_IDS("all", "simple linking", 0x1000, 0x2000);
522 TRACE_BIND_IDS("all", "TRACE_BIND_IDS scoped call", 522 TRACE_LINK_IDS("all", "link scoped ids",
523 TRACE_ID_WITH_SCOPE("scope 1", 0x1000), 523 TRACE_ID_WITH_SCOPE("scope 1", 0x1000),
524 TRACE_ID_WITH_SCOPE("scope 2", 0x2000)); 524 TRACE_ID_WITH_SCOPE("scope 2", 0x2000));
525 TRACE_LINK_IDS("all", "link to a global id", 0x1000,
526 GLOBAL_TRACE_ID_WITH_SCOPE("scope", 0x2000));
527 TRACE_LINK_IDS("all", "link from a global id",
528 GLOBAL_TRACE_ID(0x1000), 0x2000);
529 TRACE_LINK_IDS("all", "link to a composite id", 0x1000,
530 GLOBAL_TRACE_ID_WITH_SCOPE("scope", 0x2000, 0x3000));
525 } // Scope close causes TRACE_EVENT0 etc to send their END events. 531 } // Scope close causes TRACE_EVENT0 etc to send their END events.
526 532
527 if (task_complete_event) 533 if (task_complete_event)
528 task_complete_event->Signal(); 534 task_complete_event->Signal();
529 } 535 }
530 536
531 void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) { 537 void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) {
532 const DictionaryValue* item = NULL; 538 const DictionaryValue* item = NULL;
533 539
534 #define EXPECT_FIND_(string) \ 540 #define EXPECT_FIND_(string) \
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 std::string ph; 962 std::string ph;
957 EXPECT_TRUE((item && item->GetString("ph", &ph))); 963 EXPECT_TRUE((item && item->GetString("ph", &ph)));
958 EXPECT_EQ(")", ph); 964 EXPECT_EQ(")", ph);
959 965
960 std::string id; 966 std::string id;
961 EXPECT_FALSE((item && item->HasKey("scope"))); 967 EXPECT_FALSE((item && item->HasKey("scope")));
962 EXPECT_TRUE((item && item->GetString("id", &id))); 968 EXPECT_TRUE((item && item->GetString("id", &id)));
963 EXPECT_EQ("0x20151021", id); 969 EXPECT_EQ("0x20151021", id);
964 } 970 }
965 971
966 EXPECT_FIND_("TRACE_BIND_IDS simple call"); 972 EXPECT_FIND_("simple linking");
967 { 973 {
968 std::string ph; 974 std::string ph;
969 EXPECT_TRUE((item && item->GetString("ph", &ph))); 975 EXPECT_TRUE((item && item->GetString("ph", &ph)));
970 EXPECT_EQ("=", ph); 976 EXPECT_EQ("=", ph);
971 977
972 EXPECT_FALSE((item && item->HasKey("scope"))); 978 EXPECT_FALSE((item && item->HasKey("scope")));
973 std::string id; 979 EXPECT_FALSE((item && item->HasKey("id_is_global")));
974 EXPECT_TRUE((item && item->GetString("id", &id))); 980 std::string id1;
975 EXPECT_EQ("0x1000", id); 981 EXPECT_TRUE((item && item->GetString("id", &id1)));
982 EXPECT_EQ("0x1000", id1);
976 983
977 EXPECT_FALSE((item && item->HasKey("args.bind_scope"))); 984 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
978 std::string bind_id; 985 EXPECT_FALSE((item && item->HasKey("args.linked_id.id_is_global")));
979 EXPECT_TRUE((item && item->GetString("bind_id", &id))); 986 std::string id2;
980 EXPECT_EQ("0x2000", id); 987 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
988 EXPECT_EQ("0x2000", id2);
981 } 989 }
982 990
983 EXPECT_FIND_("TRACE_BIND_IDS scoped call"); 991 EXPECT_FIND_("link scoped ids");
984 { 992 {
985 std::string ph; 993 std::string ph;
986 EXPECT_TRUE((item && item->GetString("ph", &ph))); 994 EXPECT_TRUE((item && item->GetString("ph", &ph)));
987 EXPECT_EQ("=", ph); 995 EXPECT_EQ("=", ph);
988 996
989 std::string id_scope; 997 std::string scope1;
990 EXPECT_TRUE((item && item->GetString("scope", &id_scope))); 998 EXPECT_TRUE((item && item->GetString("scope", &scope1)));
991 EXPECT_EQ("scope 1", id_scope); 999 EXPECT_EQ("scope 1", scope1);
992 std::string id; 1000 std::string id1;
993 EXPECT_TRUE((item && item->GetString("id", &id))); 1001 EXPECT_TRUE((item && item->GetString("id", &id1)));
994 EXPECT_EQ("0x1000", id); 1002 EXPECT_EQ("0x1000", id1);
995 1003
996 std::string bind_scope; 1004 std::string scope2;
997 EXPECT_TRUE((item && item->GetString("args.bind_scope", &bind_scope))); 1005 EXPECT_TRUE((item && item->GetString("args.linked_id.scope", &scope2)));
998 EXPECT_EQ("scope 2", bind_scope); 1006 EXPECT_EQ("scope 2", scope2);
999 std::string bind_id; 1007 std::string id2;
1000 EXPECT_TRUE((item && item->GetString("bind_id", &id))); 1008 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
1001 EXPECT_EQ("0x2000", id); 1009 EXPECT_EQ("0x2000", id2);
1002 } 1010 }
1003 1011
1012 EXPECT_FIND_("link to a global id");
1013 {
1014 std::string ph;
1015 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1016 EXPECT_EQ("=", ph);
1017
1018 EXPECT_FALSE((item && item->HasKey("scope")));
1019 std::string id1;
1020 EXPECT_TRUE((item && item->GetString("id", &id1)));
1021 EXPECT_EQ("0x1000", id1);
1022
1023 std::string scope2;
1024 EXPECT_TRUE((item && item->GetString("args.linked_id.scope", &scope2)));
1025 EXPECT_EQ("scope", scope2);
1026 std::string id2;
1027 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
1028 EXPECT_EQ("0x2000", id2);
1029 bool id2_is_global;
1030 EXPECT_TRUE((item && item->GetBoolean("args.linked_id.id_is_global",
1031 &id2_is_global)));
1032 EXPECT_TRUE(id2_is_global);
1033 }
1034
1035 EXPECT_FIND_("link from a global id");
1036 {
1037 std::string ph;
1038 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1039 EXPECT_EQ("=", ph);
1040
1041 EXPECT_FALSE((item && item->HasKey("scope")));
1042 std::string id1;
1043 EXPECT_TRUE((item && item->GetString("id", &id1)));
1044 EXPECT_EQ("0x1000", id1);
1045 bool id1_is_global;
1046 EXPECT_TRUE((item && item->GetBoolean("id_is_global", &id1_is_global)));
1047 EXPECT_TRUE(id1_is_global);
1048
1049 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
1050 EXPECT_FALSE((item && item->HasKey("args.linked_id.id_is_global")));
1051 std::string id2;
1052 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
1053 EXPECT_EQ("0x2000", id2);
1054 }
1055
1056 EXPECT_FIND_("link to a composite id");
1057 {
1058 std::string ph;
1059 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1060 EXPECT_EQ("=", ph);
1061
1062 EXPECT_FALSE((item && item->HasKey("scope")));
1063 std::string id1;
1064 EXPECT_TRUE((item && item->GetString("id", &id1)));
1065 EXPECT_EQ("0x1000", id1);
1066
1067 std::string scope2;
1068 EXPECT_TRUE((item && item->GetString("args.linked_id.scope", &scope2)));
1069 EXPECT_EQ("scope", scope2);
1070 const ListValue* id2 = NULL;
1071 EXPECT_TRUE((item && item->GetList("args.linked_id.id", &id2)));
1072 EXPECT_EQ(2u, id2->GetSize());
1073 std::string part1, part2;
1074 EXPECT_TRUE(id2->GetString(0, &part1));
1075 EXPECT_EQ("0x2000", part1);
1076 EXPECT_TRUE(id2->GetString(1, &part2));
1077 EXPECT_EQ("0x3000", part2);
1078 bool id2_is_global;
1079 EXPECT_TRUE((item && item->GetBoolean("args.linked_id.id_is_global",
1080 &id2_is_global)));
1081 EXPECT_TRUE(id2_is_global);
1082 }
1004 } 1083 }
1005 1084
1006 void TraceManyInstantEvents(int thread_id, int num_events, 1085 void TraceManyInstantEvents(int thread_id, int num_events,
1007 WaitableEvent* task_complete_event) { 1086 WaitableEvent* task_complete_event) {
1008 for (int i = 0; i < num_events; i++) { 1087 for (int i = 0; i < num_events; i++) {
1009 TRACE_EVENT_INSTANT2("all", "multi thread event", 1088 TRACE_EVENT_INSTANT2("all", "multi thread event",
1010 TRACE_EVENT_SCOPE_THREAD, 1089 TRACE_EVENT_SCOPE_THREAD,
1011 "thread", thread_id, 1090 "thread", thread_id,
1012 "event", i); 1091 "event", i);
1013 } 1092 }
(...skipping 2205 matching lines...) Expand 10 before | Expand all | Expand 10 after
3219 3298
3220 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) { 3299 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) {
3221 BeginSpecificTrace("-*"); 3300 BeginSpecificTrace("-*");
3222 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1); 3301 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1);
3223 EndTraceAndFlush(); 3302 EndTraceAndFlush();
3224 EXPECT_TRUE(FindNamePhase("clock_sync", "c")); 3303 EXPECT_TRUE(FindNamePhase("clock_sync", "c"));
3225 } 3304 }
3226 3305
3227 } // namespace trace_event 3306 } // namespace trace_event
3228 } // namespace base 3307 } // namespace base
OLDNEW
« base/trace_event/trace_event.h ('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