OLD | NEW |
---|---|
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/debug/trace_event.h" | 5 #include "base/debug/trace_event.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
316 "name1", "value1", | 316 "name1", "value1", |
317 "name2", "value2"); | 317 "name2", "value2"); |
318 | 318 |
319 TRACE_EVENT_IF_LONGER_THAN0(0, "all", "TRACE_EVENT_IF_LONGER_THAN0 call"); | 319 TRACE_EVENT_IF_LONGER_THAN0(0, "all", "TRACE_EVENT_IF_LONGER_THAN0 call"); |
320 TRACE_EVENT_IF_LONGER_THAN1(0, "all", "TRACE_EVENT_IF_LONGER_THAN1 call", | 320 TRACE_EVENT_IF_LONGER_THAN1(0, "all", "TRACE_EVENT_IF_LONGER_THAN1 call", |
321 "name1", "value1"); | 321 "name1", "value1"); |
322 TRACE_EVENT_IF_LONGER_THAN2(0, "all", "TRACE_EVENT_IF_LONGER_THAN2 call", | 322 TRACE_EVENT_IF_LONGER_THAN2(0, "all", "TRACE_EVENT_IF_LONGER_THAN2 call", |
323 "name1", "value1", | 323 "name1", "value1", |
324 "name2", "value2"); | 324 "name2", "value2"); |
325 | 325 |
326 TRACE_EVENT_START0("all", "TRACE_EVENT_START0 call", 5); | 326 TRACE_EVENT_ASYNC_BEGIN0("all", "TRACE_EVENT_ASYNC_BEGIN0 call", 5); |
327 TRACE_EVENT_START1("all", "TRACE_EVENT_START1 call", 5, | 327 TRACE_EVENT_ASYNC_BEGIN1("all", "TRACE_EVENT_ASYNC_BEGIN1 call", 5, |
nduca
2012/02/28 23:55:26
tests for the step?
jbates
2012/02/29 00:34:19
Done.
| |
328 "name1", "value1"); | 328 "name1", "value1"); |
329 TRACE_EVENT_START2("all", "TRACE_EVENT_START2 call", 5, | 329 TRACE_EVENT_ASYNC_BEGIN2("all", "TRACE_EVENT_ASYNC_BEGIN2 call", 5, |
330 "name1", "value1", | 330 "name1", "value1", |
331 "name2", "value2"); | 331 "name2", "value2"); |
332 | 332 |
333 TRACE_EVENT_FINISH0("all", "TRACE_EVENT_FINISH0 call", 5); | 333 TRACE_EVENT_ASYNC_END0("all", "TRACE_EVENT_ASYNC_END0 call", 5); |
334 TRACE_EVENT_FINISH1("all", "TRACE_EVENT_FINISH1 call", 5, | 334 TRACE_EVENT_ASYNC_END1("all", "TRACE_EVENT_ASYNC_END1 call", 5, |
335 "name1", "value1"); | 335 "name1", "value1"); |
336 TRACE_EVENT_FINISH2("all", "TRACE_EVENT_FINISH2 call", 5, | 336 TRACE_EVENT_ASYNC_END2("all", "TRACE_EVENT_ASYNC_END2 call", 5, |
337 "name1", "value1", | 337 "name1", "value1", |
338 "name2", "value2"); | 338 "name2", "value2"); |
339 | 339 |
340 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW0 call", 5, NULL); | 340 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW0 call", 5, NULL); |
341 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW1 call", 5, "value"); | 341 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW1 call", 5, "value"); |
342 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW0 call", 5, NULL); | 342 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW0 call", 5, NULL); |
343 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW1 call", 5, "value"); | 343 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW1 call", 5, "value"); |
344 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW0 call", 5, NULL); | 344 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW0 call", 5, NULL); |
345 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW1 call", 5, "value"); | 345 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW1 call", 5, "value"); |
346 | 346 |
347 TRACE_COUNTER1("all", "TRACE_COUNTER1 call", 31415); | 347 TRACE_COUNTER1("all", "TRACE_COUNTER1 call", 31415); |
348 TRACE_COUNTER2("all", "TRACE_COUNTER2 call", | 348 TRACE_COUNTER2("all", "TRACE_COUNTER2 call", |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
433 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN0 call"); | 433 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN0 call"); |
434 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN1 call"); | 434 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN1 call"); |
435 EXPECT_SUB_FIND_("name1"); | 435 EXPECT_SUB_FIND_("name1"); |
436 EXPECT_SUB_FIND_("value1"); | 436 EXPECT_SUB_FIND_("value1"); |
437 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN2 call"); | 437 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN2 call"); |
438 EXPECT_SUB_FIND_("name1"); | 438 EXPECT_SUB_FIND_("name1"); |
439 EXPECT_SUB_FIND_("value1"); | 439 EXPECT_SUB_FIND_("value1"); |
440 EXPECT_SUB_FIND_("name2"); | 440 EXPECT_SUB_FIND_("name2"); |
441 EXPECT_SUB_FIND_("value2"); | 441 EXPECT_SUB_FIND_("value2"); |
442 | 442 |
443 EXPECT_FIND_("TRACE_EVENT_START0 call"); | 443 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN0 call"); |
444 EXPECT_SUB_FIND_("id"); | 444 EXPECT_SUB_FIND_("id"); |
445 EXPECT_SUB_FIND_("5"); | 445 EXPECT_SUB_FIND_("5"); |
446 EXPECT_FIND_("TRACE_EVENT_START1 call"); | 446 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN1 call"); |
447 EXPECT_SUB_FIND_("id"); | 447 EXPECT_SUB_FIND_("id"); |
448 EXPECT_SUB_FIND_("5"); | 448 EXPECT_SUB_FIND_("5"); |
449 EXPECT_SUB_FIND_("name1"); | 449 EXPECT_SUB_FIND_("name1"); |
450 EXPECT_SUB_FIND_("value1"); | 450 EXPECT_SUB_FIND_("value1"); |
451 EXPECT_FIND_("TRACE_EVENT_START2 call"); | 451 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN2 call"); |
452 EXPECT_SUB_FIND_("id"); | 452 EXPECT_SUB_FIND_("id"); |
453 EXPECT_SUB_FIND_("5"); | 453 EXPECT_SUB_FIND_("5"); |
454 EXPECT_SUB_FIND_("name1"); | 454 EXPECT_SUB_FIND_("name1"); |
455 EXPECT_SUB_FIND_("value1"); | 455 EXPECT_SUB_FIND_("value1"); |
456 EXPECT_SUB_FIND_("name2"); | 456 EXPECT_SUB_FIND_("name2"); |
457 EXPECT_SUB_FIND_("value2"); | 457 EXPECT_SUB_FIND_("value2"); |
458 | 458 |
459 EXPECT_FIND_("TRACE_EVENT_FINISH0 call"); | 459 EXPECT_FIND_("TRACE_EVENT_ASYNC_END0 call"); |
460 EXPECT_SUB_FIND_("id"); | 460 EXPECT_SUB_FIND_("id"); |
461 EXPECT_SUB_FIND_("5"); | 461 EXPECT_SUB_FIND_("5"); |
462 EXPECT_FIND_("TRACE_EVENT_FINISH1 call"); | 462 EXPECT_FIND_("TRACE_EVENT_ASYNC_END1 call"); |
463 EXPECT_SUB_FIND_("id"); | 463 EXPECT_SUB_FIND_("id"); |
464 EXPECT_SUB_FIND_("5"); | 464 EXPECT_SUB_FIND_("5"); |
465 EXPECT_SUB_FIND_("name1"); | 465 EXPECT_SUB_FIND_("name1"); |
466 EXPECT_SUB_FIND_("value1"); | 466 EXPECT_SUB_FIND_("value1"); |
467 EXPECT_FIND_("TRACE_EVENT_FINISH2 call"); | 467 EXPECT_FIND_("TRACE_EVENT_ASYNC_END2 call"); |
468 EXPECT_SUB_FIND_("id"); | 468 EXPECT_SUB_FIND_("id"); |
469 EXPECT_SUB_FIND_("5"); | 469 EXPECT_SUB_FIND_("5"); |
470 EXPECT_SUB_FIND_("name1"); | 470 EXPECT_SUB_FIND_("name1"); |
471 EXPECT_SUB_FIND_("value1"); | 471 EXPECT_SUB_FIND_("value1"); |
472 EXPECT_SUB_FIND_("name2"); | 472 EXPECT_SUB_FIND_("name2"); |
473 EXPECT_SUB_FIND_("value2"); | 473 EXPECT_SUB_FIND_("value2"); |
474 | 474 |
475 EXPECT_FIND_("TRACE_EVENT_BEGIN_ETW0 call"); | 475 EXPECT_FIND_("TRACE_EVENT_BEGIN_ETW0 call"); |
476 EXPECT_SUB_FIND_("id"); | 476 EXPECT_SUB_FIND_("id"); |
477 EXPECT_SUB_FIND_("5"); | 477 EXPECT_SUB_FIND_("5"); |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
916 EXPECT_NOT_FIND_BE_("4thresholdlong1"); | 916 EXPECT_NOT_FIND_BE_("4thresholdlong1"); |
917 EXPECT_NOT_FIND_BE_("4thresholdlong2"); | 917 EXPECT_NOT_FIND_BE_("4thresholdlong2"); |
918 } | 918 } |
919 | 919 |
920 // Test Start/Finish events | 920 // Test Start/Finish events |
921 TEST_F(TraceEventTestFixture, StartFinishEvents) { | 921 TEST_F(TraceEventTestFixture, StartFinishEvents) { |
922 ManualTestSetUp(); | 922 ManualTestSetUp(); |
923 TraceLog::GetInstance()->SetEnabled(true); | 923 TraceLog::GetInstance()->SetEnabled(true); |
924 | 924 |
925 unsigned long long id = 0xfeedbeeffeedbeefull; | 925 unsigned long long id = 0xfeedbeeffeedbeefull; |
926 TRACE_EVENT_START0( "cat", "name1", id); | 926 TRACE_EVENT_ASYNC_BEGIN0( "cat", "name1", id); |
927 TRACE_EVENT_FINISH0("cat", "name1", id); | 927 TRACE_EVENT_ASYNC_END0("cat", "name1", id); |
928 TRACE_EVENT_BEGIN0( "cat", "name2"); | 928 TRACE_EVENT_BEGIN0( "cat", "name2"); |
929 TRACE_EVENT_START0( "cat", "name3", 0); | 929 TRACE_EVENT_ASYNC_BEGIN0( "cat", "name3", 0); |
930 | 930 |
931 TraceLog::GetInstance()->SetEnabled(false); | 931 TraceLog::GetInstance()->SetEnabled(false); |
932 | 932 |
933 EXPECT_TRUE(FindNamePhase("name1", "S")); | 933 EXPECT_TRUE(FindNamePhase("name1", "S")); |
934 EXPECT_TRUE(FindNamePhase("name1", "F")); | 934 EXPECT_TRUE(FindNamePhase("name1", "F")); |
935 | 935 |
936 std::string id_str; | 936 std::string id_str; |
937 StringAppendF(&id_str, "%llx", id); | 937 StringAppendF(&id_str, "%llx", id); |
938 | 938 |
939 EXPECT_TRUE(FindNamePhaseKeyValue("name1", "S", "id", id_str.c_str())); | 939 EXPECT_TRUE(FindNamePhaseKeyValue("name1", "S", "id", id_str.c_str())); |
940 EXPECT_TRUE(FindNamePhaseKeyValue("name1", "F", "id", id_str.c_str())); | 940 EXPECT_TRUE(FindNamePhaseKeyValue("name1", "F", "id", id_str.c_str())); |
941 EXPECT_TRUE(FindNamePhaseKeyValue("name3", "S", "id", "0")); | 941 EXPECT_TRUE(FindNamePhaseKeyValue("name3", "S", "id", "0")); |
942 | 942 |
943 // BEGIN events should not have id | 943 // BEGIN events should not have id |
944 EXPECT_FALSE(FindNamePhaseKeyValue("name2", "B", "id", "0")); | 944 EXPECT_FALSE(FindNamePhaseKeyValue("name2", "B", "id", "0")); |
945 } | 945 } |
946 | 946 |
947 // Test Start/Finish events | 947 // Test Start/Finish events |
948 TEST_F(TraceEventTestFixture, StartFinishPointerMangling) { | 948 TEST_F(TraceEventTestFixture, StartFinishPointerMangling) { |
949 ManualTestSetUp(); | 949 ManualTestSetUp(); |
950 | 950 |
951 void* ptr = this; | 951 void* ptr = this; |
952 | 952 |
953 TraceLog::GetInstance()->SetProcessID(100); | 953 TraceLog::GetInstance()->SetProcessID(100); |
954 TraceLog::GetInstance()->SetEnabled(true); | 954 TraceLog::GetInstance()->SetEnabled(true); |
955 TRACE_EVENT_START0( "cat", "name1", ptr); | 955 TRACE_EVENT_ASYNC_BEGIN0( "cat", "name1", ptr); |
956 TRACE_EVENT_START0( "cat", "name2", ptr); | 956 TRACE_EVENT_ASYNC_BEGIN0( "cat", "name2", ptr); |
957 TraceLog::GetInstance()->SetEnabled(false); | 957 TraceLog::GetInstance()->SetEnabled(false); |
958 | 958 |
959 TraceLog::GetInstance()->SetProcessID(200); | 959 TraceLog::GetInstance()->SetProcessID(200); |
960 TraceLog::GetInstance()->SetEnabled(true); | 960 TraceLog::GetInstance()->SetEnabled(true); |
961 TRACE_EVENT_FINISH0( "cat", "name1", ptr); | 961 TRACE_EVENT_ASYNC_END0( "cat", "name1", ptr); |
962 TraceLog::GetInstance()->SetEnabled(false); | 962 TraceLog::GetInstance()->SetEnabled(false); |
963 | 963 |
964 DictionaryValue* start = FindNamePhase("name1", "S"); | 964 DictionaryValue* start = FindNamePhase("name1", "S"); |
965 DictionaryValue* start2 = FindNamePhase("name2", "S"); | 965 DictionaryValue* start2 = FindNamePhase("name2", "S"); |
966 DictionaryValue* finish = FindNamePhase("name1", "F"); | 966 DictionaryValue* finish = FindNamePhase("name1", "F"); |
967 EXPECT_TRUE(start); | 967 EXPECT_TRUE(start); |
968 EXPECT_TRUE(start2); | 968 EXPECT_TRUE(start2); |
969 EXPECT_TRUE(finish); | 969 EXPECT_TRUE(finish); |
970 | 970 |
971 Value* value = NULL; | 971 Value* value = NULL; |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1346 Clear(); | 1346 Clear(); |
1347 | 1347 |
1348 trace_buffer_.Start(); | 1348 trace_buffer_.Start(); |
1349 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); | 1349 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); |
1350 trace_buffer_.Finish(); | 1350 trace_buffer_.Finish(); |
1351 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); | 1351 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); |
1352 } | 1352 } |
1353 | 1353 |
1354 } // namespace debug | 1354 } // namespace debug |
1355 } // namespace base | 1355 } // namespace base |
OLD | NEW |