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

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

Issue 11823016: Trace category groups and category filter. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Minor edits from previous changeset, mainly fixing line exceeding 80 chars. Created 7 years, 11 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/debug/trace_event_unittest.h" 5 #include "base/debug/trace_event_unittest.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/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 TEST_F(TraceEventTestFixture, Categories) { 742 TEST_F(TraceEventTestFixture, Categories) {
743 ManualTestSetUp(); 743 ManualTestSetUp();
744 744
745 // Test that categories that are used can be retrieved whether trace was 745 // Test that categories that are used can be retrieved whether trace was
746 // enabled or disabled when the trace event was encountered. 746 // enabled or disabled when the trace event was encountered.
747 TRACE_EVENT_INSTANT0("c1", "name"); 747 TRACE_EVENT_INSTANT0("c1", "name");
748 TRACE_EVENT_INSTANT0("c2", "name"); 748 TRACE_EVENT_INSTANT0("c2", "name");
749 BeginTrace(); 749 BeginTrace();
750 TRACE_EVENT_INSTANT0("c3", "name"); 750 TRACE_EVENT_INSTANT0("c3", "name");
751 TRACE_EVENT_INSTANT0("c4", "name"); 751 TRACE_EVENT_INSTANT0("c4", "name");
752 //Categories made of more than one tag.
753 TRACE_EVENT_INSTANT0("c5,c6", "name");
754 TRACE_EVENT_INSTANT0("c7, c8", "name");
752 EndTraceAndFlush(); 755 EndTraceAndFlush();
753 std::vector<std::string> cats; 756 std::vector<std::string> cats;
754 TraceLog::GetInstance()->GetKnownCategories(&cats); 757 TraceLog::GetInstance()->GetKnownCategories(&cats);
755 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c1") != cats.end()); 758 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c1") != cats.end());
756 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c2") != cats.end()); 759 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c2") != cats.end());
757 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c3") != cats.end()); 760 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c3") != cats.end());
758 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c4") != cats.end()); 761 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c4") != cats.end());
762 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c5,c6") != cats.end());
763 EXPECT_TRUE(std::find(cats.begin(), cats.end(), "c7, c8") != cats.end());
759 764
760 const std::vector<std::string> empty_categories; 765 const std::vector<std::string> empty_tag_patterns;
761 std::vector<std::string> included_categories; 766 std::vector<std::string> included_tag_patterns;
762 std::vector<std::string> excluded_categories; 767 std::vector<std::string> excluded_tag_patterns;
763 768
764 // Test that category filtering works. 769 // Test that category filtering works.
765 770
766 // Include nonexistent category -> no events 771 // Include nonexistent category -> no events
767 Clear(); 772 Clear();
768 included_categories.clear(); 773 included_tag_patterns.clear();
769 included_categories.push_back("not_found823564786"); 774 included_tag_patterns.push_back("not_found823564786");
770 TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories); 775 TraceLog::GetInstance()->SetEnabled(included_tag_patterns,
776 empty_tag_patterns);
771 TRACE_EVENT_INSTANT0("cat1", "name"); 777 TRACE_EVENT_INSTANT0("cat1", "name");
772 TRACE_EVENT_INSTANT0("cat2", "name"); 778 TRACE_EVENT_INSTANT0("cat2", "name");
773 EndTraceAndFlush(); 779 EndTraceAndFlush();
774 EXPECT_TRUE(trace_parsed_.empty()); 780 EXPECT_TRUE(trace_parsed_.empty());
775 781
776 // Include existent category -> only events of that category 782 // Include existent category -> only events of that category
777 Clear(); 783 Clear();
778 included_categories.clear(); 784 included_tag_patterns.clear();
779 included_categories.push_back("inc"); 785 included_tag_patterns.push_back("inc");
780 TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories); 786 TraceLog::GetInstance()->SetEnabled(included_tag_patterns,
787 empty_tag_patterns);
781 TRACE_EVENT_INSTANT0("inc", "name"); 788 TRACE_EVENT_INSTANT0("inc", "name");
782 TRACE_EVENT_INSTANT0("inc2", "name"); 789 TRACE_EVENT_INSTANT0("inc2", "name");
783 EndTraceAndFlush(); 790 EndTraceAndFlush();
784 EXPECT_TRUE(FindMatchingValue("cat", "inc")); 791 EXPECT_TRUE(FindMatchingValue("cat", "inc"));
785 EXPECT_FALSE(FindNonMatchingValue("cat", "inc")); 792 EXPECT_FALSE(FindNonMatchingValue("cat", "inc"));
786 793
787 // Include existent wildcard -> all categories matching wildcard 794 // Include existent wildcard -> all categories matching wildcard
788 Clear(); 795 Clear();
789 included_categories.clear(); 796 included_tag_patterns.clear();
790 included_categories.push_back("inc_wildcard_*"); 797 included_tag_patterns.push_back("inc_wildcard_*");
791 included_categories.push_back("inc_wildchar_?_end"); 798 included_tag_patterns.push_back("inc_wildchar_?_end");
792 TraceLog::GetInstance()->SetEnabled(included_categories, empty_categories); 799 TraceLog::GetInstance()->SetEnabled(included_tag_patterns,
800 empty_tag_patterns);
793 TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included"); 801 TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included");
802 TRACE_EVENT_INSTANT0("inc_wildcard_tag,other_tag", "included");
803 TRACE_EVENT_INSTANT0("non_included_tag , inc_wildcard_tag", "included");
794 TRACE_EVENT_INSTANT0("inc_wildcard_", "included"); 804 TRACE_EVENT_INSTANT0("inc_wildcard_", "included");
795 TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "included"); 805 TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "included");
796 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "not_inc"); 806 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "not_inc");
797 TRACE_EVENT_INSTANT0("cat1", "not_inc"); 807 TRACE_EVENT_INSTANT0("cat1", "not_inc");
798 TRACE_EVENT_INSTANT0("cat2", "not_inc"); 808 TRACE_EVENT_INSTANT0("cat2", "not_inc");
799 EndTraceAndFlush(); 809 EndTraceAndFlush();
800 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_abc")); 810 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_abc"));
811 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_tag,other_tag"));
812 EXPECT_TRUE(FindMatchingValue("cat", "non_included_tag , inc_wildcard_tag"));
801 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_")); 813 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildcard_"));
802 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_x_end")); 814 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_x_end"));
803 EXPECT_FALSE(FindMatchingValue("name", "not_inc")); 815 EXPECT_FALSE(FindMatchingValue("name", "not_inc"));
804 816
805 included_categories.clear(); 817 included_tag_patterns.clear();
806 818
807 // Exclude nonexistent category -> all events 819 // Exclude nonexistent category -> all events
808 Clear(); 820 Clear();
809 excluded_categories.clear(); 821 excluded_tag_patterns.clear();
810 excluded_categories.push_back("not_found823564786"); 822 excluded_tag_patterns.push_back("not_found823564786");
811 TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories); 823 TraceLog::GetInstance()->SetEnabled(empty_tag_patterns,
824 excluded_tag_patterns);
812 TRACE_EVENT_INSTANT0("cat1", "name"); 825 TRACE_EVENT_INSTANT0("cat1", "name");
813 TRACE_EVENT_INSTANT0("cat2", "name"); 826 TRACE_EVENT_INSTANT0("cat2", "name");
827 TRACE_EVENT_INSTANT0("tag1, tag2", "name");
814 EndTraceAndFlush(); 828 EndTraceAndFlush();
815 EXPECT_TRUE(FindMatchingValue("cat", "cat1")); 829 EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
816 EXPECT_TRUE(FindMatchingValue("cat", "cat2")); 830 EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
831 EXPECT_TRUE(FindMatchingValue("cat", "tag1, tag2"));
817 832
818 // Exclude existent category -> only events of other categories 833 // Exclude existent category -> only events of other categories
819 Clear(); 834 Clear();
820 excluded_categories.clear(); 835 excluded_tag_patterns.clear();
821 excluded_categories.push_back("inc"); 836 excluded_tag_patterns.push_back("inc");
822 TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories); 837 TraceLog::GetInstance()->SetEnabled(empty_tag_patterns,
838 excluded_tag_patterns);
823 TRACE_EVENT_INSTANT0("inc", "name"); 839 TRACE_EVENT_INSTANT0("inc", "name");
840 TRACE_EVENT_INSTANT0("inc2, inc", "name");
841 TRACE_EVENT_INSTANT0("inc, inc2", "name");
824 TRACE_EVENT_INSTANT0("inc2", "name"); 842 TRACE_EVENT_INSTANT0("inc2", "name");
825 EndTraceAndFlush(); 843 EndTraceAndFlush();
826 EXPECT_TRUE(FindMatchingValue("cat", "inc2")); 844 EXPECT_TRUE(FindMatchingValue("cat", "inc2"));
827 EXPECT_FALSE(FindMatchingValue("cat", "inc")); 845 EXPECT_FALSE(FindMatchingValue("cat", "inc"));
846 EXPECT_FALSE(FindMatchingValue("cat", "inc2, inc"));
847 EXPECT_FALSE(FindMatchingValue("cat", "inc, inc2"));
828 848
829 // Exclude existent wildcard -> all categories not matching wildcard 849 // Exclude existent wildcard -> all categories not matching wildcard
830 Clear(); 850 Clear();
831 excluded_categories.clear(); 851 excluded_tag_patterns.clear();
832 excluded_categories.push_back("inc_wildcard_*"); 852 excluded_tag_patterns.push_back("inc_wildcard_*");
833 excluded_categories.push_back("inc_wildchar_?_end"); 853 excluded_tag_patterns.push_back("inc_wildchar_?_end");
834 TraceLog::GetInstance()->SetEnabled(empty_categories, excluded_categories); 854 TraceLog::GetInstance()->SetEnabled(empty_tag_patterns,
855 excluded_tag_patterns);
835 TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc"); 856 TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc");
836 TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc"); 857 TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc");
837 TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "not_inc"); 858 TRACE_EVENT_INSTANT0("inc_wildchar_x_end", "not_inc");
838 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included"); 859 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included");
839 TRACE_EVENT_INSTANT0("cat1", "included"); 860 TRACE_EVENT_INSTANT0("cat1", "included");
840 TRACE_EVENT_INSTANT0("cat2", "included"); 861 TRACE_EVENT_INSTANT0("cat2", "included");
841 EndTraceAndFlush(); 862 EndTraceAndFlush();
842 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_bla_end")); 863 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_bla_end"));
843 EXPECT_TRUE(FindMatchingValue("cat", "cat1")); 864 EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
844 EXPECT_TRUE(FindMatchingValue("cat", "cat2")); 865 EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
1406 trace_log->SetEnabled(std::string("moo")); 1427 trace_log->SetEnabled(std::string("moo"));
1407 EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz")); 1428 EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
1408 EXPECT_TRUE(*trace_log->GetCategoryEnabled("moo")); 1429 EXPECT_TRUE(*trace_log->GetCategoryEnabled("moo"));
1409 EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo")); 1430 EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
1410 trace_log->SetDisabled(); 1431 trace_log->SetDisabled();
1411 trace_log->SetDisabled(); 1432 trace_log->SetDisabled();
1412 } 1433 }
1413 1434
1414 } // namespace debug 1435 } // namespace debug
1415 } // namespace base 1436 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698