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

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

Issue 11557009: Remove support for TRACE_EVENT_IF_LONGER_THANx macros (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 | Annotate | Revision Log
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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 TRACE_EVENT_BEGIN2("all", "TRACE_EVENT_BEGIN2 call", 331 TRACE_EVENT_BEGIN2("all", "TRACE_EVENT_BEGIN2 call",
332 "name1", "value1", 332 "name1", "value1",
333 "name2", "value2"); 333 "name2", "value2");
334 334
335 TRACE_EVENT_END0("all", "TRACE_EVENT_END0 call"); 335 TRACE_EVENT_END0("all", "TRACE_EVENT_END0 call");
336 TRACE_EVENT_END1("all", "TRACE_EVENT_END1 call", "name1", "value1"); 336 TRACE_EVENT_END1("all", "TRACE_EVENT_END1 call", "name1", "value1");
337 TRACE_EVENT_END2("all", "TRACE_EVENT_END2 call", 337 TRACE_EVENT_END2("all", "TRACE_EVENT_END2 call",
338 "name1", "value1", 338 "name1", "value1",
339 "name2", "value2"); 339 "name2", "value2");
340 340
341 TRACE_EVENT_IF_LONGER_THAN0(0, "all", "TRACE_EVENT_IF_LONGER_THAN0 call");
342 TRACE_EVENT_IF_LONGER_THAN1(0, "all", "TRACE_EVENT_IF_LONGER_THAN1 call",
343 "name1", "value1");
344 TRACE_EVENT_IF_LONGER_THAN2(0, "all", "TRACE_EVENT_IF_LONGER_THAN2 call",
345 "name1", "value1",
346 "name2", "value2");
347
348 TRACE_EVENT_ASYNC_BEGIN0("all", "TRACE_EVENT_ASYNC_BEGIN0 call", 5); 341 TRACE_EVENT_ASYNC_BEGIN0("all", "TRACE_EVENT_ASYNC_BEGIN0 call", 5);
349 TRACE_EVENT_ASYNC_BEGIN1("all", "TRACE_EVENT_ASYNC_BEGIN1 call", 5, 342 TRACE_EVENT_ASYNC_BEGIN1("all", "TRACE_EVENT_ASYNC_BEGIN1 call", 5,
350 "name1", "value1"); 343 "name1", "value1");
351 TRACE_EVENT_ASYNC_BEGIN2("all", "TRACE_EVENT_ASYNC_BEGIN2 call", 5, 344 TRACE_EVENT_ASYNC_BEGIN2("all", "TRACE_EVENT_ASYNC_BEGIN2 call", 5,
352 "name1", "value1", 345 "name1", "value1",
353 "name2", "value2"); 346 "name2", "value2");
354 347
355 TRACE_EVENT_ASYNC_STEP0("all", "TRACE_EVENT_ASYNC_STEP0 call", 348 TRACE_EVENT_ASYNC_STEP0("all", "TRACE_EVENT_ASYNC_STEP0 call",
356 5, "step1"); 349 5, "step1");
357 TRACE_EVENT_ASYNC_STEP1("all", "TRACE_EVENT_ASYNC_STEP1 call", 350 TRACE_EVENT_ASYNC_STEP1("all", "TRACE_EVENT_ASYNC_STEP1 call",
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 EXPECT_FIND_("TRACE_EVENT_END0 call"); 443 EXPECT_FIND_("TRACE_EVENT_END0 call");
451 EXPECT_FIND_("TRACE_EVENT_END1 call"); 444 EXPECT_FIND_("TRACE_EVENT_END1 call");
452 EXPECT_SUB_FIND_("name1"); 445 EXPECT_SUB_FIND_("name1");
453 EXPECT_SUB_FIND_("value1"); 446 EXPECT_SUB_FIND_("value1");
454 EXPECT_FIND_("TRACE_EVENT_END2 call"); 447 EXPECT_FIND_("TRACE_EVENT_END2 call");
455 EXPECT_SUB_FIND_("name1"); 448 EXPECT_SUB_FIND_("name1");
456 EXPECT_SUB_FIND_("value1"); 449 EXPECT_SUB_FIND_("value1");
457 EXPECT_SUB_FIND_("name2"); 450 EXPECT_SUB_FIND_("name2");
458 EXPECT_SUB_FIND_("value2"); 451 EXPECT_SUB_FIND_("value2");
459 452
460 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN0 call");
461 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN1 call");
462 EXPECT_SUB_FIND_("name1");
463 EXPECT_SUB_FIND_("value1");
464 EXPECT_FIND_("TRACE_EVENT_IF_LONGER_THAN2 call");
465 EXPECT_SUB_FIND_("name1");
466 EXPECT_SUB_FIND_("value1");
467 EXPECT_SUB_FIND_("name2");
468 EXPECT_SUB_FIND_("value2");
469
470 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN0 call"); 453 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN0 call");
471 EXPECT_SUB_FIND_("id"); 454 EXPECT_SUB_FIND_("id");
472 EXPECT_SUB_FIND_("5"); 455 EXPECT_SUB_FIND_("5");
473 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN1 call"); 456 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN1 call");
474 EXPECT_SUB_FIND_("id"); 457 EXPECT_SUB_FIND_("id");
475 EXPECT_SUB_FIND_("5"); 458 EXPECT_SUB_FIND_("5");
476 EXPECT_SUB_FIND_("name1"); 459 EXPECT_SUB_FIND_("name1");
477 EXPECT_SUB_FIND_("value1"); 460 EXPECT_SUB_FIND_("value1");
478 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN2 call"); 461 EXPECT_FIND_("TRACE_EVENT_ASYNC_BEGIN2 call");
479 EXPECT_SUB_FIND_("id"); 462 EXPECT_SUB_FIND_("id");
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included"); 833 TRACE_EVENT_INSTANT0("inc_wildchar_bla_end", "included");
851 TRACE_EVENT_INSTANT0("cat1", "included"); 834 TRACE_EVENT_INSTANT0("cat1", "included");
852 TRACE_EVENT_INSTANT0("cat2", "included"); 835 TRACE_EVENT_INSTANT0("cat2", "included");
853 EndTraceAndFlush(); 836 EndTraceAndFlush();
854 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_bla_end")); 837 EXPECT_TRUE(FindMatchingValue("cat", "inc_wildchar_bla_end"));
855 EXPECT_TRUE(FindMatchingValue("cat", "cat1")); 838 EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
856 EXPECT_TRUE(FindMatchingValue("cat", "cat2")); 839 EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
857 EXPECT_FALSE(FindMatchingValue("name", "not_inc")); 840 EXPECT_FALSE(FindMatchingValue("name", "not_inc"));
858 } 841 }
859 842
860 // Simple Test for time threshold events.
861 TEST_F(TraceEventTestFixture, DataCapturedThreshold) {
862 ManualTestSetUp();
863 BeginTrace();
864
865 // Test that events at the same level are properly filtered by threshold.
866 {
867 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "threshold 100");
868 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "threshold 1000");
869 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "threshold 10000");
870 // 100+ seconds to avoid flakiness.
871 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "threshold long1");
872 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "threshold long2");
873 HighResSleepForTraceTest(base::TimeDelta::FromMilliseconds(20));
874 }
875
876 // Test that a normal nested event remains after it's parent event is dropped.
877 {
878 TRACE_EVENT_IF_LONGER_THAN0(1000000, "time", "2threshold10000");
879 {
880 TRACE_EVENT0("time", "nonthreshold1");
881 }
882 }
883
884 // Test that parent thresholded events are dropped while some nested events
885 // remain.
886 {
887 TRACE_EVENT0("time", "nonthreshold3");
888 {
889 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time", "3thresholdlong2");
890 {
891 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time", "3thresholdlong1");
892 {
893 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "3threshold10000");
894 {
895 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "3threshold1000");
896 {
897 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "3threshold100");
898 HighResSleepForTraceTest(base::TimeDelta::FromMilliseconds(20));
899 }
900 }
901 }
902 }
903 }
904 }
905
906 // Test that child thresholded events are dropped while some parent events
907 // remain.
908 {
909 TRACE_EVENT0("time", "nonthreshold4");
910 {
911 TRACE_EVENT_IF_LONGER_THAN0(100, "time", "4threshold100");
912 {
913 TRACE_EVENT_IF_LONGER_THAN0(1000, "time", "4threshold1000");
914 {
915 TRACE_EVENT_IF_LONGER_THAN0(10000, "time", "4threshold10000");
916 {
917 TRACE_EVENT_IF_LONGER_THAN0(100000000, "time",
918 "4thresholdlong1");
919 {
920 TRACE_EVENT_IF_LONGER_THAN0(200000000, "time",
921 "4thresholdlong2");
922 HighResSleepForTraceTest(base::TimeDelta::FromMilliseconds(20));
923 }
924 }
925 }
926 }
927 }
928 }
929
930 EndTraceAndFlush();
931
932 #define EXPECT_FIND_BE_(str) \
933 EXPECT_TRUE(FindNamePhase(str, "B")); \
934 EXPECT_TRUE(FindNamePhase(str, "E"))
935 #define EXPECT_NOT_FIND_BE_(str) \
936 EXPECT_FALSE(FindNamePhase(str, "B")); \
937 EXPECT_FALSE(FindNamePhase(str, "E"))
938
939 EXPECT_FIND_BE_("threshold 100");
940 EXPECT_FIND_BE_("threshold 1000");
941 EXPECT_FIND_BE_("threshold 10000");
942 EXPECT_NOT_FIND_BE_("threshold long1");
943 EXPECT_NOT_FIND_BE_("threshold long2");
944
945 EXPECT_NOT_FIND_BE_("2threshold10000");
946 EXPECT_FIND_BE_("nonthreshold1");
947
948 EXPECT_FIND_BE_("nonthreshold3");
949 EXPECT_FIND_BE_("3threshold100");
950 EXPECT_FIND_BE_("3threshold1000");
951 EXPECT_FIND_BE_("3threshold10000");
952 EXPECT_NOT_FIND_BE_("3thresholdlong1");
953 EXPECT_NOT_FIND_BE_("3thresholdlong2");
954
955 EXPECT_FIND_BE_("nonthreshold4");
956 EXPECT_FIND_BE_("4threshold100");
957 EXPECT_FIND_BE_("4threshold1000");
958 EXPECT_FIND_BE_("4threshold10000");
959 EXPECT_NOT_FIND_BE_("4thresholdlong1");
960 EXPECT_NOT_FIND_BE_("4thresholdlong2");
961 }
962 843
963 // Test EVENT_WATCH_NOTIFICATION 844 // Test EVENT_WATCH_NOTIFICATION
964 TEST_F(TraceEventTestFixture, EventWatchNotification) { 845 TEST_F(TraceEventTestFixture, EventWatchNotification) {
965 ManualTestSetUp(); 846 ManualTestSetUp();
966 847
967 // Basic one occurrence. 848 // Basic one occurrence.
968 BeginTrace(); 849 BeginTrace();
969 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 850 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
970 TRACE_EVENT_INSTANT0("cat", "event"); 851 TRACE_EVENT_INSTANT0("cat", "event");
971 EndTraceAndFlush(); 852 EndTraceAndFlush();
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
1451 Clear(); 1332 Clear();
1452 1333
1453 trace_buffer_.Start(); 1334 trace_buffer_.Start();
1454 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); 1335 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4");
1455 trace_buffer_.Finish(); 1336 trace_buffer_.Finish();
1456 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); 1337 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]");
1457 } 1338 }
1458 1339
1459 } // namespace debug 1340 } // namespace debug
1460 } // namespace base 1341 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698