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

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

Issue 8579001: Implement TRACE_COUNTER (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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
« base/debug/trace_event.h ('K') | « base/debug/trace_event.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 TRACE_EVENT_BEGIN1("all", "TRACE_EVENT_BEGIN1 call", "name1", "value1"); 283 TRACE_EVENT_BEGIN1("all", "TRACE_EVENT_BEGIN1 call", "name1", "value1");
284 TRACE_EVENT_BEGIN2("all", "TRACE_EVENT_BEGIN2 call", 284 TRACE_EVENT_BEGIN2("all", "TRACE_EVENT_BEGIN2 call",
285 "name1", "value1", 285 "name1", "value1",
286 "name2", "value2"); 286 "name2", "value2");
287 287
288 TRACE_EVENT_END0("all", "TRACE_EVENT_END0 call"); 288 TRACE_EVENT_END0("all", "TRACE_EVENT_END0 call");
289 TRACE_EVENT_END1("all", "TRACE_EVENT_END1 call", "name1", "value1"); 289 TRACE_EVENT_END1("all", "TRACE_EVENT_END1 call", "name1", "value1");
290 TRACE_EVENT_END2("all", "TRACE_EVENT_END2 call", 290 TRACE_EVENT_END2("all", "TRACE_EVENT_END2 call",
291 "name1", "value1", 291 "name1", "value1",
292 "name2", "value2"); 292 "name2", "value2");
293
294 TRACE_COUNTER1("all", "TRACE_COUNTER1 call", 31415);
295 TRACE_COUNTER2("all", "TRACE_COUNTER2 call",
296 "a", 30000,
297 "b", 1415);
293 } // Scope close causes TRACE_EVENT0 etc to send their END events. 298 } // Scope close causes TRACE_EVENT0 etc to send their END events.
294 299
295 if (task_complete_event) 300 if (task_complete_event)
296 task_complete_event->Signal(); 301 task_complete_event->Signal();
297 } 302 }
298 303
299 void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) { 304 void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) {
300 DictionaryValue* item = NULL; 305 DictionaryValue* item = NULL;
301 306
302 #define EXPECT_FIND_(string) \ 307 #define EXPECT_FIND_(string) \
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 EXPECT_SUB_FIND_("value1"); 354 EXPECT_SUB_FIND_("value1");
350 EXPECT_SUB_FIND_("name2"); 355 EXPECT_SUB_FIND_("name2");
351 EXPECT_SUB_FIND_("value2"); 356 EXPECT_SUB_FIND_("value2");
352 EXPECT_FIND_("TRACE_EVENT_END0 call"); 357 EXPECT_FIND_("TRACE_EVENT_END0 call");
353 EXPECT_FIND_("TRACE_EVENT_END1 call"); 358 EXPECT_FIND_("TRACE_EVENT_END1 call");
354 EXPECT_FIND_("TRACE_EVENT_END2 call"); 359 EXPECT_FIND_("TRACE_EVENT_END2 call");
355 EXPECT_SUB_FIND_("name1"); 360 EXPECT_SUB_FIND_("name1");
356 EXPECT_SUB_FIND_("value1"); 361 EXPECT_SUB_FIND_("value1");
357 EXPECT_SUB_FIND_("name2"); 362 EXPECT_SUB_FIND_("name2");
358 EXPECT_SUB_FIND_("value2"); 363 EXPECT_SUB_FIND_("value2");
364
365 EXPECT_FIND_("TRACE_COUNTER1 call");
366 {
367 std::string ph;
368 EXPECT_TRUE((item && item->GetString("ph", &ph)));
369 EXPECT_EQ("C", ph);
370
371 int value;
372 EXPECT_TRUE((item && item->GetInteger("args.value", &value)));
373 EXPECT_EQ(31415, value);
374 }
375
376 EXPECT_FIND_("TRACE_COUNTER2 call");
377 {
378 std::string ph;
379 EXPECT_TRUE((item && item->GetString("ph", &ph)));
380 EXPECT_EQ("C", ph);
381
382 int value;
383 EXPECT_TRUE((item && item->GetInteger("args.a", &value)));
384 EXPECT_EQ(30000, value);
385
386 EXPECT_TRUE((item && item->GetInteger("args.b", &value)));
387 EXPECT_EQ(1415, value);
388 }
389
359 } 390 }
360 391
361 void TraceManyInstantEvents(int thread_id, int num_events, 392 void TraceManyInstantEvents(int thread_id, int num_events,
362 WaitableEvent* task_complete_event) { 393 WaitableEvent* task_complete_event) {
363 for (int i = 0; i < num_events; i++) { 394 for (int i = 0; i < num_events; i++) {
364 TRACE_EVENT_INSTANT2("all", "multi thread event", 395 TRACE_EVENT_INSTANT2("all", "multi thread event",
365 "thread", thread_id, 396 "thread", thread_id,
366 "event", i); 397 "event", i);
367 } 398 }
368 399
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 Clear(); 1025 Clear();
995 1026
996 trace_buffer_.Start(); 1027 trace_buffer_.Start();
997 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); 1028 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4");
998 trace_buffer_.Finish(); 1029 trace_buffer_.Finish();
999 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); 1030 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]");
1000 } 1031 }
1001 1032
1002 } // namespace debug 1033 } // namespace debug
1003 } // namespace base 1034 } // namespace base
OLDNEW
« base/debug/trace_event.h ('K') | « base/debug/trace_event.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698