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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |