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

Unified Diff: media/cast/logging/logging_unittest.cc

Issue 130423007: Cast:Updating logging stats (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
« media/cast/logging/logging_stats.cc ('K') | « media/cast/logging/logging_stats.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/logging/logging_unittest.cc
diff --git a/media/cast/logging/logging_unittest.cc b/media/cast/logging/logging_unittest.cc
index 75915de293c0d4823292cdeb0ddee1fcc086f5fa..4f12c866dfa58c16a655c4369cb670c3dd321013 100644
--- a/media/cast/logging/logging_unittest.cc
+++ b/media/cast/logging/logging_unittest.cc
@@ -42,6 +42,8 @@ class TestLogging : public ::testing::Test {
scoped_refptr<test::FakeTaskRunner> task_runner_;
scoped_ptr<LoggingImpl> logging_;
base::SimpleTestTickClock testing_clock_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestLogging);
};
TEST_F(TestLogging, BasicFrameLogging) {
@@ -49,31 +51,35 @@ TEST_F(TestLogging, BasicFrameLogging) {
base::TimeDelta time_interval = testing_clock_.NowTicks() - start_time;
uint32 rtp_timestamp = 0;
uint32 frame_id = 0;
+ base::TimeTicks now;
do {
- logging_->InsertFrameEvent(testing_clock_.NowTicks(),
- kAudioFrameCaptured, rtp_timestamp, frame_id);
+ now = testing_clock_.NowTicks();
+ logging_->InsertFrameEvent(now, kAudioFrameCaptured, rtp_timestamp,
+ frame_id);
testing_clock_.Advance(
base::TimeDelta::FromMilliseconds(kFrameIntervalMs));
rtp_timestamp += kFrameIntervalMs * 90;
++frame_id;
- time_interval = testing_clock_.NowTicks() - start_time;
+ time_interval = now - start_time;
} while (time_interval.InSeconds() < kIntervalTime1S);
+ base::TimeTicks end_time = now;
// Get logging data.
FrameRawMap frame_map = logging_->GetFrameRawData();
// Size of map should be equal to the number of frames logged.
EXPECT_EQ(frame_id, frame_map.size());
// Verify stats.
- const FrameStatsMap* frame_stats =
- logging_->GetFrameStatsData(testing_clock_.NowTicks());
+ const FrameStatsMap* frame_stats = logging_->GetFrameStatsData();
// Size of stats equals the number of events.
EXPECT_EQ(1u, frame_stats->size());
FrameStatsMap::const_iterator it = frame_stats->find(kAudioFrameCaptured);
EXPECT_TRUE(it != frame_stats->end());
- EXPECT_NEAR(30.3, it->second->framerate_fps, 0.1);
- EXPECT_EQ(0, it->second->bitrate_kbps);
- EXPECT_EQ(0, it->second->max_delay_ms);
- EXPECT_EQ(0, it->second->min_delay_ms);
- EXPECT_EQ(0, it->second->avg_delay_ms);
+ EXPECT_EQ(0, it->second->max_delay.InMilliseconds());
+ EXPECT_EQ(0, it->second->min_delay.InMilliseconds());
+ EXPECT_EQ(start_time, it->second->first_event_time);
+ EXPECT_EQ(end_time, it->second->last_event_time);
+ EXPECT_EQ(0, it->second->size_sum);
+ // Number of events is equal to the number of frames.
+ EXPECT_EQ(static_cast<int>(frame_id), it->second->event_counter);
}
TEST_F(TestLogging, FrameLoggingWithSize) {
@@ -84,9 +90,11 @@ TEST_F(TestLogging, FrameLoggingWithSize) {
base::TimeDelta time_interval = testing_clock_.NowTicks() - start_time;
uint32 rtp_timestamp = 0;
uint32 frame_id = 0;
+ int size_sum = 0;
do {
int size = kBaseFrameSizeBytes +
base::RandInt(-kRandomSizeInterval, kRandomSizeInterval);
+ size_sum += size;
logging_->InsertFrameEventWithSize(testing_clock_.NowTicks(),
kAudioFrameCaptured, rtp_timestamp, frame_id, size);
testing_clock_.Advance(
@@ -100,18 +108,15 @@ TEST_F(TestLogging, FrameLoggingWithSize) {
// Size of map should be equal to the number of frames logged.
EXPECT_EQ(frame_id, frame_map.size());
// Verify stats.
- const FrameStatsMap* frame_stats =
- logging_->GetFrameStatsData(testing_clock_.NowTicks());
+ const FrameStatsMap* frame_stats = logging_->GetFrameStatsData();
// Size of stats equals the number of events.
EXPECT_EQ(1u, frame_stats->size());
FrameStatsMap::const_iterator it = frame_stats->find(kAudioFrameCaptured);
EXPECT_TRUE(it != frame_stats->end());
- EXPECT_NEAR(30.3, it->second->framerate_fps, 0.1);
- EXPECT_NEAR(8 * kBaseFrameSizeBytes / (kFrameIntervalMs * 1000),
- it->second->bitrate_kbps, kRandomSizeInterval);
- EXPECT_EQ(0, it->second->max_delay_ms);
- EXPECT_EQ(0, it->second->min_delay_ms);
- EXPECT_EQ(0, it->second->avg_delay_ms);
+ EXPECT_EQ(0, it->second->max_delay.InMilliseconds());
+ EXPECT_EQ(0, it->second->min_delay.InMilliseconds());
+ EXPECT_EQ(0, it->second->sum_delay.InMilliseconds());
+ EXPECT_EQ(size_sum, it->second->size_sum);
}
TEST_F(TestLogging, FrameLoggingWithDelay) {
@@ -139,18 +144,15 @@ TEST_F(TestLogging, FrameLoggingWithDelay) {
// Size of map should be equal to the number of frames logged.
EXPECT_EQ(frame_id, frame_map.size());
// Verify stats.
- const FrameStatsMap* frame_stats =
- logging_->GetFrameStatsData(testing_clock_.NowTicks());
+ const FrameStatsMap* frame_stats = logging_->GetFrameStatsData();
// Size of stats equals the number of events.
EXPECT_EQ(1u, frame_stats->size());
FrameStatsMap::const_iterator it = frame_stats->find(kAudioFrameCaptured);
EXPECT_TRUE(it != frame_stats->end());
- EXPECT_NEAR(30.3, it->second->framerate_fps, 0.1);
- EXPECT_EQ(0, it->second->bitrate_kbps);
- EXPECT_GE(kPlayoutDelayMs + kRandomSizeInterval, it->second->max_delay_ms);
- EXPECT_LE(kPlayoutDelayMs - kRandomSizeInterval, it->second->min_delay_ms);
- EXPECT_NEAR(kPlayoutDelayMs, it->second->avg_delay_ms,
- 0.2 * kRandomSizeInterval);
+ EXPECT_GE(kPlayoutDelayMs + kRandomSizeInterval,
+ it->second->max_delay.InMilliseconds());
+ EXPECT_LE(kPlayoutDelayMs - kRandomSizeInterval,
+ it->second->min_delay.InMilliseconds());
}
TEST_F(TestLogging, MultipleEventFrameLogging) {
@@ -210,30 +212,41 @@ TEST_F(TestLogging, PacketLogging) {
// Size of map should be equal to the number of frames logged.
EXPECT_EQ(frame_id, raw_map.size());
// Verify stats.
- const PacketStatsMap* stats_map =
- logging_->GetPacketStatsData(testing_clock_.NowTicks());
+ const PacketStatsMap* stats_map = logging_->GetPacketStatsData();
// Size of stats equals the number of events.
EXPECT_EQ(1u, stats_map->size());
PacketStatsMap::const_iterator it = stats_map->find(kPacketSentToPacer);
EXPECT_TRUE(it != stats_map->end());
- // We only store the bitrate as a packet statistic.
- EXPECT_NEAR(8 * kNumPacketsPerFrame * kBaseSize / (kFrameIntervalMs * 1000),
- it->second, kSizeInterval);
}
TEST_F(TestLogging, GenericLogging) {
// Insert multiple generic types.
const size_t kNumRuns = 1000;
const int kBaseValue = 20;
+ int sum_value_rtt = 0;
+ int sum_value_pl = 0;
+ int sum_value_jitter = 0;
+ int min_value, max_value;
for (size_t i = 0; i < kNumRuns; ++i) {
int value = kBaseValue + base::RandInt(-5, 5);
+ sum_value_rtt += value;
logging_->InsertGenericEvent(testing_clock_.NowTicks(), kRttMs, value);
if (i % 2) {
logging_->InsertGenericEvent(testing_clock_.NowTicks(), kPacketLoss,
value);
+ sum_value_pl += value;
}
if (!(i % 4)) {
logging_->InsertGenericEvent(testing_clock_.NowTicks(), kJitterMs, value);
+ sum_value_jitter += value;
+ }
+ if (i == 0) {
+ min_value = value;
+ max_value = value;
+ } else if (min_value > value) {
+ min_value = value;
+ } else if (max_value < value) {
+ max_value = value;
}
}
GenericRawMap raw_map = logging_->GetGenericRawData();
@@ -251,13 +264,19 @@ TEST_F(TestLogging, GenericLogging) {
rit = raw_map.find(kJitterMs);
EXPECT_EQ(kNumRuns / 4, rit->second.value.size());
EXPECT_EQ(kNumRuns / 4, rit->second.timestamp.size());
- // Stats - one value per event.
+ // Stats - one value per all events.
GenericStatsMap::const_iterator sit = stats_map->find(kRttMs);
- EXPECT_NEAR(kBaseValue, sit->second, 2.5);
+ EXPECT_EQ(sum_value_rtt, sit->second->sum);
+ EXPECT_GE(min_value, sit->second->min);
+ EXPECT_LE(max_value, sit->second->max);
sit = stats_map->find(kPacketLoss);
- EXPECT_NEAR(kBaseValue, sit->second, 2.5);
+ EXPECT_EQ(sum_value_pl, sit->second->sum);
+ EXPECT_GE(min_value, sit->second->min);
+ EXPECT_LE(max_value, sit->second->max);
sit = stats_map->find(kJitterMs);
- EXPECT_NEAR(kBaseValue, sit->second, 2.5);
+ EXPECT_EQ(sum_value_jitter, sit->second->sum);
+ EXPECT_GE(min_value, sit->second->min);
+ EXPECT_LE(max_value, sit->second->max);
}
TEST_F(TestLogging, RtcpMultipleEventFrameLogging) {
« media/cast/logging/logging_stats.cc ('K') | « media/cast/logging/logging_stats.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698