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

Side by Side Diff: base/test/trace_event_analyzer_unittest.cc

Issue 8678035: Add TraceAnalyzer support for calculating common event rate statistics (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
« no previous file with comments | « base/test/trace_event_analyzer.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/bind.h" 5 #include "base/bind.h"
6 #include "base/test/trace_event_analyzer.h" 6 #include "base/test/trace_event_analyzer.h"
7 #include "testing/gmock/include/gmock/gmock.h" 7 #include "testing/gmock/include/gmock/gmock.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace trace_analyzer { 10 namespace trace_analyzer {
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 EXPECT_TRUE((Query::Double(1.0) == Query::Uint(1u)).Evaluate(dummy)); 520 EXPECT_TRUE((Query::Double(1.0) == Query::Uint(1u)).Evaluate(dummy));
521 EXPECT_TRUE((Query::Double(1.0) == Query::Int(1)).Evaluate(dummy)); 521 EXPECT_TRUE((Query::Double(1.0) == Query::Int(1)).Evaluate(dummy));
522 EXPECT_TRUE((Query::Double(-1.0) == Query::Int(-1)).Evaluate(dummy)); 522 EXPECT_TRUE((Query::Double(-1.0) == Query::Int(-1)).Evaluate(dummy));
523 EXPECT_TRUE((Query::Double(1.0) == Query::Double(1.0f)).Evaluate(dummy)); 523 EXPECT_TRUE((Query::Double(1.0) == Query::Double(1.0f)).Evaluate(dummy));
524 EXPECT_TRUE((Query::Bool(true) == Query::Int(1)).Evaluate(dummy)); 524 EXPECT_TRUE((Query::Bool(true) == Query::Int(1)).Evaluate(dummy));
525 EXPECT_TRUE((Query::Bool(false) == Query::Int(0)).Evaluate(dummy)); 525 EXPECT_TRUE((Query::Bool(false) == Query::Int(0)).Evaluate(dummy));
526 EXPECT_TRUE((Query::Bool(true) == Query::Double(1.0f)).Evaluate(dummy)); 526 EXPECT_TRUE((Query::Bool(true) == Query::Double(1.0f)).Evaluate(dummy));
527 EXPECT_TRUE((Query::Bool(false) == Query::Double(0.0f)).Evaluate(dummy)); 527 EXPECT_TRUE((Query::Bool(false) == Query::Double(0.0f)).Evaluate(dummy));
528 } 528 }
529 529
530 // Test GetRateStats.
531 TEST_F(TraceEventAnalyzerTest, RateStats) {
532 using namespace trace_analyzer;
533
534 std::vector<TraceEvent> events;
535 events.reserve(100);
536 TraceAnalyzer::TraceEventVector event_ptrs;
537 TraceEvent event;
538 event.timestamp = 0.0;
539 double little_delta = 1.0;
540 double big_delta = 10.0;
541 TraceAnalyzer::Stats stats;
542
543 for (int i = 0; i < 10; ++i) {
544 event.timestamp += little_delta;
545 events.push_back(event);
546 event_ptrs.push_back(&events.back());
547 }
548
549 ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats));
550 EXPECT_EQ(little_delta, stats.mean_us);
551 EXPECT_EQ(little_delta, stats.min_us);
552 EXPECT_EQ(little_delta, stats.max_us);
553 EXPECT_EQ(0.0, stats.standard_deviation_us);
554
555 event.timestamp += big_delta;
556 events.push_back(event);
557 event_ptrs.push_back(&events.back());
558
559 ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats));
560 EXPECT_LT(little_delta, stats.mean_us);
561 EXPECT_EQ(little_delta, stats.min_us);
562 EXPECT_EQ(big_delta, stats.max_us);
563 EXPECT_LT(0.0, stats.standard_deviation_us);
564
565 TraceAnalyzer::TraceEventVector few_event_ptrs;
566 few_event_ptrs.push_back(&event);
567 few_event_ptrs.push_back(&event);
568 ASSERT_FALSE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats));
569 few_event_ptrs.push_back(&event);
570 ASSERT_TRUE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats));
571 }
572
530 573
531 } // namespace trace_analyzer 574 } // namespace trace_analyzer
532 575
OLDNEW
« no previous file with comments | « base/test/trace_event_analyzer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698