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

Side by Side Diff: runtime/vm/timeline_test.cc

Issue 1287073006: Correct inclusive time and start tracking maximum exclusive time (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include <cstring> 5 #include <cstring>
6 6
7 #include "platform/assert.h" 7 #include "platform/assert.h"
8 8
9 #include "vm/dart_api_impl.h" 9 #include "vm/dart_api_impl.h"
10 #include "vm/dart_api_state.h" 10 #include "vm/dart_api_state.h"
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 422
423 // Test case. 423 // Test case.
424 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 424 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
425 { 425 {
426 TimelinePauses pauses(zone, isolate, recorder); 426 TimelinePauses pauses(zone, isolate, recorder);
427 pauses.Setup(); 427 pauses.Setup();
428 pauses.CalculatePauseTimesForThread(tid); 428 pauses.CalculatePauseTimesForThread(tid);
429 EXPECT(!pauses.has_error()); 429 EXPECT(!pauses.has_error());
430 EXPECT_EQ(10, pauses.InclusiveTime("a")); 430 EXPECT_EQ(10, pauses.InclusiveTime("a"));
431 EXPECT_EQ(10, pauses.ExclusiveTime("a")); 431 EXPECT_EQ(10, pauses.ExclusiveTime("a"));
432 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 432 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
433 EXPECT_EQ(10, pauses.MaxExclusiveTime("a"));
433 } 434 }
434 TimelineTestHelper::Clear(recorder); 435 TimelineTestHelper::Clear(recorder);
435 436
436 // Test case. 437 // Test case.
437 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 438 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
438 TimelineTestHelper::FakeDuration(recorder, "b", 0, 10); 439 TimelineTestHelper::FakeDuration(recorder, "b", 0, 10);
439 { 440 {
440 TimelinePauses pauses(zone, isolate, recorder); 441 TimelinePauses pauses(zone, isolate, recorder);
441 pauses.Setup(); 442 pauses.Setup();
442 pauses.CalculatePauseTimesForThread(tid); 443 pauses.CalculatePauseTimesForThread(tid);
443 EXPECT(!pauses.has_error()); 444 EXPECT(!pauses.has_error());
444 EXPECT_EQ(10, pauses.InclusiveTime("a")); 445 EXPECT_EQ(10, pauses.InclusiveTime("a"));
445 EXPECT_EQ(0, pauses.ExclusiveTime("a")); 446 EXPECT_EQ(0, pauses.ExclusiveTime("a"));
446 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 447 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
448 EXPECT_EQ(0, pauses.MaxExclusiveTime("a"));
447 EXPECT_EQ(10, pauses.InclusiveTime("b")); 449 EXPECT_EQ(10, pauses.InclusiveTime("b"));
448 EXPECT_EQ(10, pauses.ExclusiveTime("b")); 450 EXPECT_EQ(10, pauses.ExclusiveTime("b"));
449 EXPECT_EQ(10, pauses.MaxDurationTime("b")); 451 EXPECT_EQ(10, pauses.MaxInclusiveTime("b"));
452 EXPECT_EQ(10, pauses.MaxExclusiveTime("b"));
450 } 453 }
451 TimelineTestHelper::Clear(recorder); 454 TimelineTestHelper::Clear(recorder);
452 455
453 // Test case. 456 // Test case.
454 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 457 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
455 TimelineTestHelper::FakeDuration(recorder, "b", 1, 8); 458 TimelineTestHelper::FakeDuration(recorder, "b", 1, 8);
456 { 459 {
457 TimelinePauses pauses(zone, isolate, recorder); 460 TimelinePauses pauses(zone, isolate, recorder);
458 pauses.Setup(); 461 pauses.Setup();
459 pauses.CalculatePauseTimesForThread(tid); 462 pauses.CalculatePauseTimesForThread(tid);
460 EXPECT(!pauses.has_error()); 463 EXPECT(!pauses.has_error());
461 EXPECT_EQ(10, pauses.InclusiveTime("a")); 464 EXPECT_EQ(10, pauses.InclusiveTime("a"));
462 EXPECT_EQ(3, pauses.ExclusiveTime("a")); 465 EXPECT_EQ(3, pauses.ExclusiveTime("a"));
463 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 466 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
467 EXPECT_EQ(3, pauses.MaxExclusiveTime("a"));
464 EXPECT_EQ(7, pauses.InclusiveTime("b")); 468 EXPECT_EQ(7, pauses.InclusiveTime("b"));
465 EXPECT_EQ(7, pauses.ExclusiveTime("b")); 469 EXPECT_EQ(7, pauses.ExclusiveTime("b"));
466 EXPECT_EQ(7, pauses.MaxDurationTime("b")); 470 EXPECT_EQ(7, pauses.MaxInclusiveTime("b"));
471 EXPECT_EQ(7, pauses.MaxExclusiveTime("b"));
467 } 472 }
468 TimelineTestHelper::Clear(recorder); 473 TimelineTestHelper::Clear(recorder);
469 474
470 // Test case. 475 // Test case.
471 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 476 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
472 TimelineTestHelper::FakeDuration(recorder, "b", 0, 1); 477 TimelineTestHelper::FakeDuration(recorder, "b", 0, 1);
473 TimelineTestHelper::FakeDuration(recorder, "b", 1, 2); 478 TimelineTestHelper::FakeDuration(recorder, "b", 1, 2);
474 TimelineTestHelper::FakeDuration(recorder, "b", 2, 3); 479 TimelineTestHelper::FakeDuration(recorder, "b", 2, 3);
475 TimelineTestHelper::FakeDuration(recorder, "b", 3, 4); 480 TimelineTestHelper::FakeDuration(recorder, "b", 3, 4);
476 TimelineTestHelper::FakeDuration(recorder, "b", 4, 5); 481 TimelineTestHelper::FakeDuration(recorder, "b", 4, 5);
477 TimelineTestHelper::FakeDuration(recorder, "b", 5, 6); 482 TimelineTestHelper::FakeDuration(recorder, "b", 5, 6);
478 TimelineTestHelper::FakeDuration(recorder, "b", 6, 7); 483 TimelineTestHelper::FakeDuration(recorder, "b", 6, 7);
479 TimelineTestHelper::FakeDuration(recorder, "b", 7, 8); 484 TimelineTestHelper::FakeDuration(recorder, "b", 7, 8);
480 TimelineTestHelper::FakeDuration(recorder, "b", 8, 9); 485 TimelineTestHelper::FakeDuration(recorder, "b", 8, 9);
481 TimelineTestHelper::FakeDuration(recorder, "b", 9, 10); 486 TimelineTestHelper::FakeDuration(recorder, "b", 9, 10);
482 { 487 {
483 TimelinePauses pauses(zone, isolate, recorder); 488 TimelinePauses pauses(zone, isolate, recorder);
484 pauses.Setup(); 489 pauses.Setup();
485 pauses.CalculatePauseTimesForThread(tid); 490 pauses.CalculatePauseTimesForThread(tid);
486 EXPECT(!pauses.has_error()); 491 EXPECT(!pauses.has_error());
487 EXPECT_EQ(10, pauses.InclusiveTime("a")); 492 EXPECT_EQ(10, pauses.InclusiveTime("a"));
488 EXPECT_EQ(0, pauses.ExclusiveTime("a")); 493 EXPECT_EQ(0, pauses.ExclusiveTime("a"));
489 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 494 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
495 EXPECT_EQ(0, pauses.MaxExclusiveTime("a"));
490 EXPECT_EQ(10, pauses.InclusiveTime("b")); 496 EXPECT_EQ(10, pauses.InclusiveTime("b"));
491 EXPECT_EQ(10, pauses.ExclusiveTime("b")); 497 EXPECT_EQ(10, pauses.ExclusiveTime("b"));
492 EXPECT_EQ(1, pauses.MaxDurationTime("b")); 498 EXPECT_EQ(1, pauses.MaxInclusiveTime("b"));
499 EXPECT_EQ(1, pauses.MaxExclusiveTime("b"));
493 } 500 }
494 TimelineTestHelper::Clear(recorder); 501 TimelineTestHelper::Clear(recorder);
495 502
496 // Test case. 503 // Test case.
497 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 504 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
498 TimelineTestHelper::FakeDuration(recorder, "b", 0, 5); 505 TimelineTestHelper::FakeDuration(recorder, "b", 0, 5);
499 TimelineTestHelper::FakeDuration(recorder, "c", 1, 4); 506 TimelineTestHelper::FakeDuration(recorder, "c", 1, 4);
500 TimelineTestHelper::FakeDuration(recorder, "d", 5, 10); 507 TimelineTestHelper::FakeDuration(recorder, "d", 5, 10);
501 508
502 { 509 {
503 TimelinePauses pauses(zone, isolate, recorder); 510 TimelinePauses pauses(zone, isolate, recorder);
504 pauses.Setup(); 511 pauses.Setup();
505 pauses.CalculatePauseTimesForThread(tid); 512 pauses.CalculatePauseTimesForThread(tid);
506 EXPECT(!pauses.has_error()); 513 EXPECT(!pauses.has_error());
507 EXPECT_EQ(10, pauses.InclusiveTime("a")); 514 EXPECT_EQ(10, pauses.InclusiveTime("a"));
508 EXPECT_EQ(0, pauses.ExclusiveTime("a")); 515 EXPECT_EQ(0, pauses.ExclusiveTime("a"));
509 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 516 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
517 EXPECT_EQ(0, pauses.MaxExclusiveTime("a"));
510 EXPECT_EQ(5, pauses.InclusiveTime("b")); 518 EXPECT_EQ(5, pauses.InclusiveTime("b"));
511 EXPECT_EQ(2, pauses.ExclusiveTime("b")); 519 EXPECT_EQ(2, pauses.ExclusiveTime("b"));
512 EXPECT_EQ(5, pauses.MaxDurationTime("b")); 520 EXPECT_EQ(5, pauses.MaxInclusiveTime("b"));
521 EXPECT_EQ(2, pauses.MaxExclusiveTime("b"));
513 EXPECT_EQ(3, pauses.InclusiveTime("c")); 522 EXPECT_EQ(3, pauses.InclusiveTime("c"));
514 EXPECT_EQ(3, pauses.ExclusiveTime("c")); 523 EXPECT_EQ(3, pauses.ExclusiveTime("c"));
515 EXPECT_EQ(3, pauses.MaxDurationTime("c")); 524 EXPECT_EQ(3, pauses.MaxInclusiveTime("c"));
525 EXPECT_EQ(3, pauses.MaxExclusiveTime("c"));
516 EXPECT_EQ(5, pauses.InclusiveTime("d")); 526 EXPECT_EQ(5, pauses.InclusiveTime("d"));
517 EXPECT_EQ(5, pauses.ExclusiveTime("d")); 527 EXPECT_EQ(5, pauses.ExclusiveTime("d"));
518 EXPECT_EQ(5, pauses.MaxDurationTime("d")); 528 EXPECT_EQ(5, pauses.MaxInclusiveTime("d"));
529 EXPECT_EQ(5, pauses.MaxExclusiveTime("d"));
519 } 530 }
520 TimelineTestHelper::Clear(recorder); 531 TimelineTestHelper::Clear(recorder);
521 532
522 // Test case. 533 // Test case.
523 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 534 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
524 TimelineTestHelper::FakeDuration(recorder, "b", 1, 9); 535 TimelineTestHelper::FakeDuration(recorder, "b", 1, 9);
525 TimelineTestHelper::FakeDuration(recorder, "c", 2, 8); 536 TimelineTestHelper::FakeDuration(recorder, "c", 2, 8);
526 TimelineTestHelper::FakeDuration(recorder, "d", 3, 7); 537 TimelineTestHelper::FakeDuration(recorder, "d", 3, 7);
527 TimelineTestHelper::FakeDuration(recorder, "e", 4, 6); 538 TimelineTestHelper::FakeDuration(recorder, "e", 4, 6);
528 539
529 { 540 {
530 TimelinePauses pauses(zone, isolate, recorder); 541 TimelinePauses pauses(zone, isolate, recorder);
531 pauses.Setup(); 542 pauses.Setup();
532 pauses.CalculatePauseTimesForThread(tid); 543 pauses.CalculatePauseTimesForThread(tid);
533 EXPECT(!pauses.has_error()); 544 EXPECT(!pauses.has_error());
534 EXPECT_EQ(10, pauses.InclusiveTime("a")); 545 EXPECT_EQ(10, pauses.InclusiveTime("a"));
535 EXPECT_EQ(2, pauses.ExclusiveTime("a")); 546 EXPECT_EQ(2, pauses.ExclusiveTime("a"));
536 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 547 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
548 EXPECT_EQ(2, pauses.MaxExclusiveTime("a"));
537 EXPECT_EQ(8, pauses.InclusiveTime("b")); 549 EXPECT_EQ(8, pauses.InclusiveTime("b"));
538 EXPECT_EQ(2, pauses.ExclusiveTime("b")); 550 EXPECT_EQ(2, pauses.ExclusiveTime("b"));
539 EXPECT_EQ(8, pauses.MaxDurationTime("b")); 551 EXPECT_EQ(8, pauses.MaxInclusiveTime("b"));
552 EXPECT_EQ(2, pauses.MaxExclusiveTime("b"));
540 EXPECT_EQ(6, pauses.InclusiveTime("c")); 553 EXPECT_EQ(6, pauses.InclusiveTime("c"));
541 EXPECT_EQ(2, pauses.ExclusiveTime("c")); 554 EXPECT_EQ(2, pauses.ExclusiveTime("c"));
542 EXPECT_EQ(6, pauses.MaxDurationTime("c")); 555 EXPECT_EQ(6, pauses.MaxInclusiveTime("c"));
556 EXPECT_EQ(2, pauses.MaxExclusiveTime("c"));
543 EXPECT_EQ(4, pauses.InclusiveTime("d")); 557 EXPECT_EQ(4, pauses.InclusiveTime("d"));
544 EXPECT_EQ(2, pauses.ExclusiveTime("d")); 558 EXPECT_EQ(2, pauses.ExclusiveTime("d"));
545 EXPECT_EQ(4, pauses.MaxDurationTime("d")); 559 EXPECT_EQ(4, pauses.MaxInclusiveTime("d"));
560 EXPECT_EQ(2, pauses.MaxExclusiveTime("d"));
546 EXPECT_EQ(2, pauses.InclusiveTime("e")); 561 EXPECT_EQ(2, pauses.InclusiveTime("e"));
547 EXPECT_EQ(2, pauses.ExclusiveTime("e")); 562 EXPECT_EQ(2, pauses.ExclusiveTime("e"));
548 EXPECT_EQ(2, pauses.MaxDurationTime("e")); 563 EXPECT_EQ(2, pauses.MaxInclusiveTime("e"));
564 EXPECT_EQ(2, pauses.MaxExclusiveTime("e"));
549 } 565 }
550 TimelineTestHelper::Clear(recorder); 566 TimelineTestHelper::Clear(recorder);
551 567
552 // Test case. 568 // Test case.
553 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10); 569 TimelineTestHelper::FakeDuration(recorder, "a", 0, 10);
554 TimelineTestHelper::FakeDuration(recorder, "a", 1, 9); 570 TimelineTestHelper::FakeDuration(recorder, "a", 1, 9);
555 571
556 { 572 {
557 TimelinePauses pauses(zone, isolate, recorder); 573 TimelinePauses pauses(zone, isolate, recorder);
558 pauses.Setup(); 574 pauses.Setup();
559 pauses.CalculatePauseTimesForThread(tid); 575 pauses.CalculatePauseTimesForThread(tid);
560 EXPECT(!pauses.has_error()); 576 EXPECT(!pauses.has_error());
561 EXPECT_EQ(18, pauses.InclusiveTime("a")); 577 EXPECT_EQ(10, pauses.InclusiveTime("a"));
562 EXPECT_EQ(10, pauses.ExclusiveTime("a")); 578 EXPECT_EQ(10, pauses.ExclusiveTime("a"));
563 EXPECT_EQ(10, pauses.MaxDurationTime("a")); 579 EXPECT_EQ(10, pauses.MaxInclusiveTime("a"));
580 EXPECT_EQ(8, pauses.MaxExclusiveTime("a"));
564 } 581 }
565 TimelineTestHelper::Clear(recorder); 582 TimelineTestHelper::Clear(recorder);
566 } 583 }
567 584
568 } // namespace dart 585 } // namespace dart
OLDNEW
« runtime/vm/timeline_analysis.cc ('K') | « runtime/vm/timeline_analysis.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698