| 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 <math.h> | 5 #include <math.h> |
| 6 #include <cstdlib> | 6 #include <cstdlib> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 if (IsStringInDict(string_to_match, dict)) | 395 if (IsStringInDict(string_to_match, dict)) |
| 396 hits.push_back(dict); | 396 hits.push_back(dict); |
| 397 } | 397 } |
| 398 return hits; | 398 return hits; |
| 399 } | 399 } |
| 400 | 400 |
| 401 const char kControlCharacters[] = "\001\002\003\n\r"; | 401 const char kControlCharacters[] = "\001\002\003\n\r"; |
| 402 | 402 |
| 403 void TraceWithAllMacroVariants(WaitableEvent* task_complete_event) { | 403 void TraceWithAllMacroVariants(WaitableEvent* task_complete_event) { |
| 404 { | 404 { |
| 405 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW call", 0x1122, "extrastring1"); | |
| 406 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW call", 0x3344, "extrastring2"); | |
| 407 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW call", | |
| 408 0x5566, "extrastring3"); | |
| 409 | |
| 410 TRACE_EVENT0("all", "TRACE_EVENT0 call"); | 405 TRACE_EVENT0("all", "TRACE_EVENT0 call"); |
| 411 TRACE_EVENT1("all", "TRACE_EVENT1 call", "name1", "value1"); | 406 TRACE_EVENT1("all", "TRACE_EVENT1 call", "name1", "value1"); |
| 412 TRACE_EVENT2("all", "TRACE_EVENT2 call", | 407 TRACE_EVENT2("all", "TRACE_EVENT2 call", |
| 413 "name1", "\"value1\"", | 408 "name1", "\"value1\"", |
| 414 "name2", "value\\2"); | 409 "name2", "value\\2"); |
| 415 | 410 |
| 416 TRACE_EVENT_INSTANT0("all", "TRACE_EVENT_INSTANT0 call", | 411 TRACE_EVENT_INSTANT0("all", "TRACE_EVENT_INSTANT0 call", |
| 417 TRACE_EVENT_SCOPE_GLOBAL); | 412 TRACE_EVENT_SCOPE_GLOBAL); |
| 418 TRACE_EVENT_INSTANT1("all", "TRACE_EVENT_INSTANT1 call", | 413 TRACE_EVENT_INSTANT1("all", "TRACE_EVENT_INSTANT1 call", |
| 419 TRACE_EVENT_SCOPE_PROCESS, "name1", "value1"); | 414 TRACE_EVENT_SCOPE_PROCESS, "name1", "value1"); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 TRACE_EVENT_ASYNC_END2("all", "TRACE_EVENT_ASYNC_END2 call", kAsyncId, | 447 TRACE_EVENT_ASYNC_END2("all", "TRACE_EVENT_ASYNC_END2 call", kAsyncId, |
| 453 "name1", "value1", | 448 "name1", "value1", |
| 454 "name2", "value2"); | 449 "name2", "value2"); |
| 455 | 450 |
| 456 TRACE_EVENT_FLOW_BEGIN0("all", "TRACE_EVENT_FLOW_BEGIN0 call", kFlowId); | 451 TRACE_EVENT_FLOW_BEGIN0("all", "TRACE_EVENT_FLOW_BEGIN0 call", kFlowId); |
| 457 TRACE_EVENT_FLOW_STEP0("all", "TRACE_EVENT_FLOW_STEP0 call", | 452 TRACE_EVENT_FLOW_STEP0("all", "TRACE_EVENT_FLOW_STEP0 call", |
| 458 kFlowId, "step1"); | 453 kFlowId, "step1"); |
| 459 TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0("all", | 454 TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0("all", |
| 460 "TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0 call", kFlowId); | 455 "TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0 call", kFlowId); |
| 461 | 456 |
| 462 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW0 call", kAsyncId, NULL); | |
| 463 TRACE_EVENT_BEGIN_ETW("TRACE_EVENT_BEGIN_ETW1 call", kAsyncId, "value"); | |
| 464 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW0 call", kAsyncId, NULL); | |
| 465 TRACE_EVENT_END_ETW("TRACE_EVENT_END_ETW1 call", kAsyncId, "value"); | |
| 466 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW0 call", kAsyncId, NULL); | |
| 467 TRACE_EVENT_INSTANT_ETW("TRACE_EVENT_INSTANT_ETW1 call", kAsyncId, "value"); | |
| 468 | |
| 469 TRACE_COUNTER1("all", "TRACE_COUNTER1 call", 31415); | 457 TRACE_COUNTER1("all", "TRACE_COUNTER1 call", 31415); |
| 470 TRACE_COUNTER2("all", "TRACE_COUNTER2 call", | 458 TRACE_COUNTER2("all", "TRACE_COUNTER2 call", |
| 471 "a", 30000, | 459 "a", 30000, |
| 472 "b", 1415); | 460 "b", 1415); |
| 473 | 461 |
| 474 TRACE_COUNTER_ID1("all", "TRACE_COUNTER_ID1 call", 0x319009, 31415); | 462 TRACE_COUNTER_ID1("all", "TRACE_COUNTER_ID1 call", 0x319009, 31415); |
| 475 TRACE_COUNTER_ID2("all", "TRACE_COUNTER_ID2 call", 0x319009, | 463 TRACE_COUNTER_ID2("all", "TRACE_COUNTER_ID2 call", 0x319009, |
| 476 "a", 30000, "b", 1415); | 464 "a", 30000, "b", 1415); |
| 477 | 465 |
| 478 TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP0("all", | 466 TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP0("all", |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 #define EXPECT_FIND_(string) \ | 505 #define EXPECT_FIND_(string) \ |
| 518 item = FindTraceEntry(trace_parsed, string); \ | 506 item = FindTraceEntry(trace_parsed, string); \ |
| 519 EXPECT_TRUE(item); | 507 EXPECT_TRUE(item); |
| 520 #define EXPECT_NOT_FIND_(string) \ | 508 #define EXPECT_NOT_FIND_(string) \ |
| 521 item = FindTraceEntry(trace_parsed, string); \ | 509 item = FindTraceEntry(trace_parsed, string); \ |
| 522 EXPECT_FALSE(item); | 510 EXPECT_FALSE(item); |
| 523 #define EXPECT_SUB_FIND_(string) \ | 511 #define EXPECT_SUB_FIND_(string) \ |
| 524 if (item) \ | 512 if (item) \ |
| 525 EXPECT_TRUE(IsStringInDict(string, item)); | 513 EXPECT_TRUE(IsStringInDict(string, item)); |
| 526 | 514 |
| 527 EXPECT_FIND_("ETW Trace Event"); | |
| 528 EXPECT_FIND_("all"); | |
| 529 EXPECT_FIND_("TRACE_EVENT_BEGIN_ETW call"); | |
| 530 { | |
| 531 std::string str_val; | |
| 532 EXPECT_TRUE(item && item->GetString("args.id", &str_val)); | |
| 533 EXPECT_STREQ("0x1122", str_val.c_str()); | |
| 534 } | |
| 535 EXPECT_SUB_FIND_("extrastring1"); | |
| 536 EXPECT_FIND_("TRACE_EVENT_END_ETW call"); | |
| 537 EXPECT_FIND_("TRACE_EVENT_INSTANT_ETW call"); | |
| 538 EXPECT_FIND_("TRACE_EVENT0 call"); | 515 EXPECT_FIND_("TRACE_EVENT0 call"); |
| 539 { | 516 { |
| 540 std::string ph; | 517 std::string ph; |
| 541 std::string ph_end; | 518 std::string ph_end; |
| 542 EXPECT_TRUE((item = FindTraceEntry(trace_parsed, "TRACE_EVENT0 call"))); | 519 EXPECT_TRUE((item = FindTraceEntry(trace_parsed, "TRACE_EVENT0 call"))); |
| 543 EXPECT_TRUE((item && item->GetString("ph", &ph))); | 520 EXPECT_TRUE((item && item->GetString("ph", &ph))); |
| 544 EXPECT_EQ("X", ph); | 521 EXPECT_EQ("X", ph); |
| 545 item = FindTraceEntry(trace_parsed, "TRACE_EVENT0 call", item); | 522 item = FindTraceEntry(trace_parsed, "TRACE_EVENT0 call", item); |
| 546 EXPECT_FALSE(item); | 523 EXPECT_FALSE(item); |
| 547 } | 524 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 EXPECT_SUB_FIND_("id"); | 623 EXPECT_SUB_FIND_("id"); |
| 647 EXPECT_SUB_FIND_(kFlowIdStr); | 624 EXPECT_SUB_FIND_(kFlowIdStr); |
| 648 EXPECT_FIND_("TRACE_EVENT_FLOW_STEP0 call"); | 625 EXPECT_FIND_("TRACE_EVENT_FLOW_STEP0 call"); |
| 649 EXPECT_SUB_FIND_("id"); | 626 EXPECT_SUB_FIND_("id"); |
| 650 EXPECT_SUB_FIND_(kFlowIdStr); | 627 EXPECT_SUB_FIND_(kFlowIdStr); |
| 651 EXPECT_SUB_FIND_("step1"); | 628 EXPECT_SUB_FIND_("step1"); |
| 652 EXPECT_FIND_("TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0 call"); | 629 EXPECT_FIND_("TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0 call"); |
| 653 EXPECT_SUB_FIND_("id"); | 630 EXPECT_SUB_FIND_("id"); |
| 654 EXPECT_SUB_FIND_(kFlowIdStr); | 631 EXPECT_SUB_FIND_(kFlowIdStr); |
| 655 | 632 |
| 656 EXPECT_FIND_("TRACE_EVENT_BEGIN_ETW0 call"); | |
| 657 EXPECT_SUB_FIND_("id"); | |
| 658 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 659 EXPECT_SUB_FIND_("extra"); | |
| 660 EXPECT_SUB_FIND_("NULL"); | |
| 661 EXPECT_FIND_("TRACE_EVENT_BEGIN_ETW1 call"); | |
| 662 EXPECT_SUB_FIND_("id"); | |
| 663 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 664 EXPECT_SUB_FIND_("extra"); | |
| 665 EXPECT_SUB_FIND_("value"); | |
| 666 EXPECT_FIND_("TRACE_EVENT_END_ETW0 call"); | |
| 667 EXPECT_SUB_FIND_("id"); | |
| 668 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 669 EXPECT_SUB_FIND_("extra"); | |
| 670 EXPECT_SUB_FIND_("NULL"); | |
| 671 EXPECT_FIND_("TRACE_EVENT_END_ETW1 call"); | |
| 672 EXPECT_SUB_FIND_("id"); | |
| 673 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 674 EXPECT_SUB_FIND_("extra"); | |
| 675 EXPECT_SUB_FIND_("value"); | |
| 676 EXPECT_FIND_("TRACE_EVENT_INSTANT_ETW0 call"); | |
| 677 EXPECT_SUB_FIND_("id"); | |
| 678 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 679 EXPECT_SUB_FIND_("extra"); | |
| 680 EXPECT_SUB_FIND_("NULL"); | |
| 681 EXPECT_FIND_("TRACE_EVENT_INSTANT_ETW1 call"); | |
| 682 EXPECT_SUB_FIND_("id"); | |
| 683 EXPECT_SUB_FIND_(kAsyncIdStr); | |
| 684 EXPECT_SUB_FIND_("extra"); | |
| 685 EXPECT_SUB_FIND_("value"); | |
| 686 | |
| 687 EXPECT_FIND_("TRACE_COUNTER1 call"); | 633 EXPECT_FIND_("TRACE_COUNTER1 call"); |
| 688 { | 634 { |
| 689 std::string ph; | 635 std::string ph; |
| 690 EXPECT_TRUE((item && item->GetString("ph", &ph))); | 636 EXPECT_TRUE((item && item->GetString("ph", &ph))); |
| 691 EXPECT_EQ("C", ph); | 637 EXPECT_EQ("C", ph); |
| 692 | 638 |
| 693 int value; | 639 int value; |
| 694 EXPECT_TRUE((item && item->GetInteger("args.value", &value))); | 640 EXPECT_TRUE((item && item->GetInteger("args.value", &value))); |
| 695 EXPECT_EQ(31415, value); | 641 EXPECT_EQ(31415, value); |
| 696 } | 642 } |
| (...skipping 2266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2963 } | 2909 } |
| 2964 | 2910 |
| 2965 TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { | 2911 TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { |
| 2966 const char filter[] = "DELAY(test.Delay;16;oneshot)"; | 2912 const char filter[] = "DELAY(test.Delay;16;oneshot)"; |
| 2967 TraceConfig config(filter, ""); | 2913 TraceConfig config(filter, ""); |
| 2968 EXPECT_EQ(filter, config.ToCategoryFilterString()); | 2914 EXPECT_EQ(filter, config.ToCategoryFilterString()); |
| 2969 } | 2915 } |
| 2970 | 2916 |
| 2971 } // namespace trace_event | 2917 } // namespace trace_event |
| 2972 } // namespace base | 2918 } // namespace base |
| OLD | NEW |