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

Side by Side Diff: media/cast/logging/stats_event_subscriber_unittest.cc

Issue 482383005: Cast logging: Additional stats for getStats() API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@REAL-NEW-MASTER
Patch Set: Rebase Created 6 years, 3 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
« no previous file with comments | « media/cast/logging/stats_event_subscriber.cc ('k') | media/cast/test/sender.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/memory/ref_counted.h" 5 #include "base/memory/ref_counted.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/rand_util.h" 7 #include "base/rand_util.h"
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "base/time/tick_clock.h" 9 #include "base/time/tick_clock.h"
10 #include "media/cast/cast_environment.h" 10 #include "media/cast/cast_environment.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(dropped_frames)); 133 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(dropped_frames));
134 } 134 }
135 135
136 TEST_F(StatsEventSubscriberTest, Encode) { 136 TEST_F(StatsEventSubscriberTest, Encode) {
137 Init(VIDEO_EVENT); 137 Init(VIDEO_EVENT);
138 138
139 uint32 rtp_timestamp = 0; 139 uint32 rtp_timestamp = 0;
140 uint32 frame_id = 0; 140 uint32 frame_id = 0;
141 int num_frames = 10; 141 int num_frames = 10;
142 base::TimeTicks start_time = sender_clock_->NowTicks(); 142 base::TimeTicks start_time = sender_clock_->NowTicks();
143 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678));
144 base::TimeTicks first_event_time = sender_clock_->NowTicks();
145 base::TimeTicks last_event_time;
143 int total_size = 0; 146 int total_size = 0;
144 for (int i = 0; i < num_frames; i++) { 147 for (int i = 0; i < num_frames; i++) {
145 int size = 1000 + base::RandInt(-100, 100); 148 int size = 1000 + base::RandInt(-100, 100);
146 total_size += size; 149 total_size += size;
147 cast_environment_->Logging()->InsertEncodedFrameEvent( 150 cast_environment_->Logging()->InsertEncodedFrameEvent(
148 sender_clock_->NowTicks(), 151 sender_clock_->NowTicks(),
149 FRAME_ENCODED, VIDEO_EVENT, 152 FRAME_ENCODED, VIDEO_EVENT,
150 rtp_timestamp, 153 rtp_timestamp,
151 frame_id, 154 frame_id,
152 size, 155 size,
153 true, 156 true,
154 5678); 157 5678);
158 last_event_time = sender_clock_->NowTicks();
155 159
156 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678)); 160 AdvanceClocks(base::TimeDelta::FromMicroseconds(35678));
157 rtp_timestamp += 90; 161 rtp_timestamp += 90;
158 frame_id++; 162 frame_id++;
159 } 163 }
160 164
161 base::TimeTicks end_time = sender_clock_->NowTicks(); 165 base::TimeTicks end_time = sender_clock_->NowTicks();
162 166
163 StatsEventSubscriber::StatsMap stats_map; 167 StatsEventSubscriber::StatsMap stats_map;
164 subscriber_->GetStatsInternal(&stats_map); 168 subscriber_->GetStatsInternal(&stats_map);
165 169
166 StatsEventSubscriber::StatsMap::iterator it = 170 StatsEventSubscriber::StatsMap::iterator it =
167 stats_map.find(StatsEventSubscriber::ENCODE_FPS); 171 stats_map.find(StatsEventSubscriber::ENCODE_FPS);
168 ASSERT_TRUE(it != stats_map.end()); 172 ASSERT_TRUE(it != stats_map.end());
169 173
170 base::TimeDelta duration = end_time - start_time; 174 base::TimeDelta duration = end_time - start_time;
171 EXPECT_DOUBLE_EQ( 175 EXPECT_DOUBLE_EQ(
172 it->second, 176 it->second,
173 static_cast<double>(num_frames) / duration.InMillisecondsF() * 1000); 177 static_cast<double>(num_frames) / duration.InMillisecondsF() * 1000);
174 178
175 it = stats_map.find(StatsEventSubscriber::ENCODE_KBPS); 179 it = stats_map.find(StatsEventSubscriber::ENCODE_KBPS);
176 ASSERT_TRUE(it != stats_map.end()); 180 ASSERT_TRUE(it != stats_map.end());
177 181
178 EXPECT_DOUBLE_EQ(it->second, 182 EXPECT_DOUBLE_EQ(it->second,
179 static_cast<double>(total_size) / duration.InMillisecondsF() * 8); 183 static_cast<double>(total_size) / duration.InMillisecondsF() * 8);
184
185 it = stats_map.find(StatsEventSubscriber::FIRST_EVENT_TIME_MS);
186 ASSERT_TRUE(it != stats_map.end());
187
188 EXPECT_DOUBLE_EQ(
189 it->second,
190 (first_event_time - base::TimeTicks::UnixEpoch()).InMillisecondsF());
191
192 it = stats_map.find(StatsEventSubscriber::LAST_EVENT_TIME_MS);
193 ASSERT_TRUE(it != stats_map.end());
194
195 EXPECT_DOUBLE_EQ(
196 it->second,
197 (last_event_time - base::TimeTicks::UnixEpoch()).InMillisecondsF());
180 } 198 }
181 199
182 TEST_F(StatsEventSubscriberTest, Decode) { 200 TEST_F(StatsEventSubscriberTest, Decode) {
183 Init(VIDEO_EVENT); 201 Init(VIDEO_EVENT);
184 202
185 uint32 rtp_timestamp = 0; 203 uint32 rtp_timestamp = 0;
186 uint32 frame_id = 0; 204 uint32 frame_id = 0;
187 int num_frames = 10; 205 int num_frames = 10;
188 base::TimeTicks start_time = sender_clock_->NowTicks(); 206 base::TimeTicks start_time = sender_clock_->NowTicks();
189 for (int i = 0; i < num_frames; i++) { 207 for (int i = 0; i < num_frames; i++) {
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(num_packets_retransmitted)); 477 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(num_packets_retransmitted));
460 478
461 it = stats_map.find(StatsEventSubscriber::NUM_PACKETS_RTX_REJECTED); 479 it = stats_map.find(StatsEventSubscriber::NUM_PACKETS_RTX_REJECTED);
462 ASSERT_TRUE(it != stats_map.end()); 480 ASSERT_TRUE(it != stats_map.end());
463 481
464 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(num_packets_rtx_rejected)); 482 EXPECT_DOUBLE_EQ(it->second, static_cast<double>(num_packets_rtx_rejected));
465 } 483 }
466 484
467 } // namespace cast 485 } // namespace cast
468 } // namespace media 486 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/logging/stats_event_subscriber.cc ('k') | media/cast/test/sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698