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

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

Issue 2381083003: The TRACE_LINK_IDS macro (Closed)
Patch Set: . Created 4 years, 2 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
« no previous file with comments | « base/trace_event/trace_event_impl.cc ('k') | tools/gn/bootstrap/bootstrap.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 13 matching lines...) Expand all
24 #include "base/process/process_handle.h" 24 #include "base/process/process_handle.h"
25 #include "base/single_thread_task_runner.h" 25 #include "base/single_thread_task_runner.h"
26 #include "base/stl_util.h" 26 #include "base/stl_util.h"
27 #include "base/strings/pattern.h" 27 #include "base/strings/pattern.h"
28 #include "base/strings/stringprintf.h" 28 #include "base/strings/stringprintf.h"
29 #include "base/synchronization/waitable_event.h" 29 #include "base/synchronization/waitable_event.h"
30 #include "base/threading/platform_thread.h" 30 #include "base/threading/platform_thread.h"
31 #include "base/threading/thread.h" 31 #include "base/threading/thread.h"
32 #include "base/time/time.h" 32 #include "base/time/time.h"
33 #include "base/trace_event/trace_buffer.h" 33 #include "base/trace_event/trace_buffer.h"
34 #include "base/trace_event/trace_event.h"
34 #include "base/trace_event/trace_event_synthetic_delay.h" 35 #include "base/trace_event/trace_event_synthetic_delay.h"
35 #include "base/values.h" 36 #include "base/values.h"
36 #include "testing/gmock/include/gmock/gmock.h" 37 #include "testing/gmock/include/gmock/gmock.h"
37 #include "testing/gtest/include/gtest/gtest.h" 38 #include "testing/gtest/include/gtest/gtest.h"
38 39
39 namespace base { 40 namespace base {
40 namespace trace_event { 41 namespace trace_event {
41 42
42 namespace { 43 namespace {
43 44
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 TRACE_EVENT_ENTER_CONTEXT("all", "TRACE_EVENT_ENTER_CONTEXT call", 514 TRACE_EVENT_ENTER_CONTEXT("all", "TRACE_EVENT_ENTER_CONTEXT call",
514 TRACE_ID_WITH_SCOPE("scope", context_id)); 515 TRACE_ID_WITH_SCOPE("scope", context_id));
515 TRACE_EVENT_LEAVE_CONTEXT("all", "TRACE_EVENT_LEAVE_CONTEXT call", 516 TRACE_EVENT_LEAVE_CONTEXT("all", "TRACE_EVENT_LEAVE_CONTEXT call",
516 TRACE_ID_WITH_SCOPE("scope", context_id)); 517 TRACE_ID_WITH_SCOPE("scope", context_id));
517 TRACE_EVENT_SCOPED_CONTEXT("disabled-by-default-cat", 518 TRACE_EVENT_SCOPED_CONTEXT("disabled-by-default-cat",
518 "TRACE_EVENT_SCOPED_CONTEXT disabled call", 519 "TRACE_EVENT_SCOPED_CONTEXT disabled call",
519 context_id); 520 context_id);
520 TRACE_EVENT_SCOPED_CONTEXT("all", "TRACE_EVENT_SCOPED_CONTEXT call", 521 TRACE_EVENT_SCOPED_CONTEXT("all", "TRACE_EVENT_SCOPED_CONTEXT call",
521 context_id); 522 context_id);
522 523
523 TRACE_BIND_IDS("all", "TRACE_BIND_IDS simple call", 0x1000, 0x2000); 524 TRACE_LINK_IDS("all", "TRACE_LINK_IDS simple call", 0x1000, 0x2000);
524 TRACE_BIND_IDS("all", "TRACE_BIND_IDS scoped call", 525 TRACE_LINK_IDS("all", "TRACE_LINK_IDS scoped call",
525 TRACE_ID_WITH_SCOPE("scope 1", 0x1000), 526 TRACE_ID_WITH_SCOPE("scope 1", 0x1000),
526 TRACE_ID_WITH_SCOPE("scope 2", 0x2000)); 527 TRACE_ID_WITH_SCOPE("scope 2", 0x2000));
528 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a local ID", 0x1000,
529 TRACE_ID_LOCAL(0x2000));
530 TRACE_LINK_IDS("all", "TRACE_LINK_IDS to a global ID", 0x1000,
531 TRACE_ID_GLOBAL(0x2000));
527 532
528 TRACE_EVENT_ASYNC_BEGIN0("all", "async default process scope", 0x1000); 533 TRACE_EVENT_ASYNC_BEGIN0("all", "async default process scope", 0x1000);
529 TRACE_EVENT_ASYNC_BEGIN0("all", "async local id", TRACE_ID_LOCAL(0x2000)); 534 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)); 535 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id", TRACE_ID_GLOBAL(0x3000));
531 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id with scope string", 536 TRACE_EVENT_ASYNC_BEGIN0("all", "async global id with scope string",
532 TRACE_ID_WITH_SCOPE("scope string", 537 TRACE_ID_WITH_SCOPE("scope string",
533 TRACE_ID_GLOBAL(0x4000))); 538 TRACE_ID_GLOBAL(0x4000)));
534 } // Scope close causes TRACE_EVENT0 etc to send their END events. 539 } // Scope close causes TRACE_EVENT0 etc to send their END events.
535 540
536 if (task_complete_event) 541 if (task_complete_event)
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 std::string ph; 970 std::string ph;
966 EXPECT_TRUE((item && item->GetString("ph", &ph))); 971 EXPECT_TRUE((item && item->GetString("ph", &ph)));
967 EXPECT_EQ(")", ph); 972 EXPECT_EQ(")", ph);
968 973
969 std::string id; 974 std::string id;
970 EXPECT_FALSE((item && item->HasKey("scope"))); 975 EXPECT_FALSE((item && item->HasKey("scope")));
971 EXPECT_TRUE((item && item->GetString("id", &id))); 976 EXPECT_TRUE((item && item->GetString("id", &id)));
972 EXPECT_EQ("0x20151021", id); 977 EXPECT_EQ("0x20151021", id);
973 } 978 }
974 979
975 EXPECT_FIND_("TRACE_BIND_IDS simple call"); 980 EXPECT_FIND_("TRACE_LINK_IDS simple call");
976 { 981 {
977 std::string ph; 982 std::string ph;
978 EXPECT_TRUE((item && item->GetString("ph", &ph))); 983 EXPECT_TRUE((item && item->GetString("ph", &ph)));
979 EXPECT_EQ("=", ph); 984 EXPECT_EQ("=", ph);
980 985
981 EXPECT_FALSE((item && item->HasKey("scope"))); 986 EXPECT_FALSE((item && item->HasKey("scope")));
982 std::string id; 987 std::string id1;
983 EXPECT_TRUE((item && item->GetString("id", &id))); 988 EXPECT_TRUE((item && item->GetString("id", &id1)));
984 EXPECT_EQ("0x1000", id); 989 EXPECT_EQ("0x1000", id1);
985 990
986 EXPECT_FALSE((item && item->HasKey("args.bind_scope"))); 991 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
987 std::string bind_id; 992 std::string id2;
988 EXPECT_TRUE((item && item->GetString("bind_id", &id))); 993 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
989 EXPECT_EQ("0x2000", id); 994 EXPECT_EQ("0x2000", id2);
990 } 995 }
991 996
992 EXPECT_FIND_("TRACE_BIND_IDS scoped call"); 997 EXPECT_FIND_("TRACE_LINK_IDS scoped call");
993 { 998 {
994 std::string ph; 999 std::string ph;
995 EXPECT_TRUE((item && item->GetString("ph", &ph))); 1000 EXPECT_TRUE((item && item->GetString("ph", &ph)));
996 EXPECT_EQ("=", ph); 1001 EXPECT_EQ("=", ph);
997 1002
998 std::string id_scope; 1003 std::string scope1;
999 EXPECT_TRUE((item && item->GetString("scope", &id_scope))); 1004 EXPECT_TRUE((item && item->GetString("scope", &scope1)));
1000 EXPECT_EQ("scope 1", id_scope); 1005 EXPECT_EQ("scope 1", scope1);
1001 std::string id; 1006 std::string id1;
1002 EXPECT_TRUE((item && item->GetString("id", &id))); 1007 EXPECT_TRUE((item && item->GetString("id", &id1)));
1003 EXPECT_EQ("0x1000", id); 1008 EXPECT_EQ("0x1000", id1);
1004 1009
1005 std::string bind_scope; 1010 std::string scope2;
1006 EXPECT_TRUE((item && item->GetString("args.bind_scope", &bind_scope))); 1011 EXPECT_TRUE((item && item->GetString("args.linked_id.scope", &scope2)));
1007 EXPECT_EQ("scope 2", bind_scope); 1012 EXPECT_EQ("scope 2", scope2);
1008 std::string bind_id; 1013 std::string id2;
1009 EXPECT_TRUE((item && item->GetString("bind_id", &id))); 1014 EXPECT_TRUE((item && item->GetString("args.linked_id.id", &id2)));
1010 EXPECT_EQ("0x2000", id); 1015 EXPECT_EQ("0x2000", id2);
1016 }
1017
1018 EXPECT_FIND_("TRACE_LINK_IDS to a local ID");
1019 {
1020 std::string ph;
1021 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1022 EXPECT_EQ("=", ph);
1023
1024 EXPECT_FALSE((item && item->HasKey("scope")));
1025 std::string id1;
1026 EXPECT_TRUE((item && item->GetString("id", &id1)));
1027 EXPECT_EQ("0x1000", id1);
1028
1029 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
1030 std::string id2;
1031 EXPECT_TRUE((item && item->GetString("args.linked_id.id2.local", &id2)));
1032 EXPECT_EQ("0x2000", id2);
1033 }
1034
1035 EXPECT_FIND_("TRACE_LINK_IDS to 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
1046 EXPECT_FALSE((item && item->HasKey("args.linked_id.scope")));
1047 std::string id2;
1048 EXPECT_TRUE((item && item->GetString("args.linked_id.id2.global", &id2)));
1049 EXPECT_EQ("0x2000", id2);
1011 } 1050 }
1012 1051
1013 EXPECT_FIND_("async default process scope"); 1052 EXPECT_FIND_("async default process scope");
1014 { 1053 {
1015 std::string ph; 1054 std::string ph;
1016 EXPECT_TRUE((item && item->GetString("ph", &ph))); 1055 EXPECT_TRUE((item && item->GetString("ph", &ph)));
1017 EXPECT_EQ("S", ph); 1056 EXPECT_EQ("S", ph);
1018 1057
1019 std::string id; 1058 std::string id;
1020 EXPECT_TRUE((item && item->GetString("id", &id))); 1059 EXPECT_TRUE((item && item->GetString("id", &id)));
(...skipping 2381 matching lines...) Expand 10 before | Expand all | Expand 10 after
3402 3441
3403 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) { 3442 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) {
3404 BeginSpecificTrace("-*"); 3443 BeginSpecificTrace("-*");
3405 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1); 3444 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1);
3406 EndTraceAndFlush(); 3445 EndTraceAndFlush();
3407 EXPECT_TRUE(FindNamePhase("clock_sync", "c")); 3446 EXPECT_TRUE(FindNamePhase("clock_sync", "c"));
3408 } 3447 }
3409 3448
3410 } // namespace trace_event 3449 } // namespace trace_event
3411 } // namespace base 3450 } // namespace base
OLDNEW
« no previous file with comments | « base/trace_event/trace_event_impl.cc ('k') | tools/gn/bootstrap/bootstrap.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698