OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 TraceLog::GetInstance()->SetEnabled(true); | 622 TraceLog::GetInstance()->SetEnabled(true); |
623 | 623 |
624 // Test that events at the same level are properly filtered by threshold. | 624 // Test that events at the same level are properly filtered by threshold. |
625 { | 625 { |
626 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "threshold 100"); | 626 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "threshold 100"); |
627 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "threshold 1000"); | 627 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "threshold 1000"); |
628 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "threshold 10000"); | 628 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "threshold 10000"); |
629 // 100+ seconds to avoid flakiness. | 629 // 100+ seconds to avoid flakiness. |
630 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "threshold long1"); | 630 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "threshold long1"); |
631 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "threshold long2"); | 631 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "threshold long2"); |
632 base::PlatformThread::Sleep(20); // 20000 us | 632 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(20)); |
633 } | 633 } |
634 | 634 |
635 // Test that a normal nested event remains after it's parent event is dropped. | 635 // Test that a normal nested event remains after it's parent event is dropped. |
636 { | 636 { |
637 TRACE_EVENT_IF_LONGER_THAN0(1000000, "time", "2threshold10000"); | 637 TRACE_EVENT_IF_LONGER_THAN0(1000000, "time", "2threshold10000"); |
638 { | 638 { |
639 TRACE_EVENT0("time", "nonthreshold1"); | 639 TRACE_EVENT0("time", "nonthreshold1"); |
640 } | 640 } |
641 } | 641 } |
642 | 642 |
643 // Test that parent thresholded events are dropped while some nested events | 643 // Test that parent thresholded events are dropped while some nested events |
644 // remain. | 644 // remain. |
645 { | 645 { |
646 TRACE_EVENT0("time", "nonthreshold3"); | 646 TRACE_EVENT0("time", "nonthreshold3"); |
647 { | 647 { |
648 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "3thresholdlong2"); | 648 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "3thresholdlong2"); |
649 { | 649 { |
650 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "3thresholdlong1"); | 650 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "3thresholdlong1"); |
651 { | 651 { |
652 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "3threshold10000"); | 652 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "3threshold10000"); |
653 { | 653 { |
654 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "3threshold1000"); | 654 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "3threshold1000"); |
655 { | 655 { |
656 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "3threshold100"); | 656 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "3threshold100"); |
657 base::PlatformThread::Sleep(20); | 657 base::PlatformThread::Sleep( |
| 658 base::TimeDelta::FromMilliseconds(20)); |
658 } | 659 } |
659 } | 660 } |
660 } | 661 } |
661 } | 662 } |
662 } | 663 } |
663 } | 664 } |
664 | 665 |
665 // Test that child thresholded events are dropped while some parent events | 666 // Test that child thresholded events are dropped while some parent events |
666 // remain. | 667 // remain. |
667 { | 668 { |
668 TRACE_EVENT0("time", "nonthreshold4"); | 669 TRACE_EVENT0("time", "nonthreshold4"); |
669 { | 670 { |
670 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "4threshold100"); | 671 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "4threshold100"); |
671 { | 672 { |
672 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "4threshold1000"); | 673 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "4threshold1000"); |
673 { | 674 { |
674 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "4threshold10000"); | 675 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "4threshold10000"); |
675 { | 676 { |
676 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", | 677 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", |
677 "4thresholdlong1"); | 678 "4thresholdlong1"); |
678 { | 679 { |
679 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", | 680 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", |
680 "4thresholdlong2"); | 681 "4thresholdlong2"); |
681 base::PlatformThread::Sleep(20); | 682 base::PlatformThread::Sleep( |
| 683 base::TimeDelta::FromMilliseconds(20)); |
682 } | 684 } |
683 } | 685 } |
684 } | 686 } |
685 } | 687 } |
686 } | 688 } |
687 } | 689 } |
688 | 690 |
689 TraceLog::GetInstance()->SetEnabled(false); | 691 TraceLog::GetInstance()->SetEnabled(false); |
690 | 692 |
691 #define EXPECT_FIND_BE_(str) \ | 693 #define EXPECT_FIND_BE_(str) \ |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1146 Clear(); | 1148 Clear(); |
1147 | 1149 |
1148 trace_buffer_.Start(); | 1150 trace_buffer_.Start(); |
1149 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); | 1151 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); |
1150 trace_buffer_.Finish(); | 1152 trace_buffer_.Finish(); |
1151 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); | 1153 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); |
1152 } | 1154 } |
1153 | 1155 |
1154 } // namespace debug | 1156 } // namespace debug |
1155 } // namespace base | 1157 } // namespace base |
OLD | NEW |