OLD | NEW |
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 #ifndef MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 5 #ifndef MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
6 #define MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 6 #define MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
7 | 7 |
8 #include "base/gtest_prod_util.h" | 8 #include "base/gtest_prod_util.h" |
9 #include "base/memory/linked_ptr.h" | 9 #include "base/memory/linked_ptr.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 ~FrameInfo(); | 175 ~FrameInfo(); |
176 | 176 |
177 base::TimeTicks capture_time; | 177 base::TimeTicks capture_time; |
178 base::TimeTicks capture_end_time; | 178 base::TimeTicks capture_end_time; |
179 base::TimeTicks encode_end_time; | 179 base::TimeTicks encode_end_time; |
180 bool encoded; | 180 bool encoded; |
181 }; | 181 }; |
182 | 182 |
183 typedef std::map<CastStat, double> StatsMap; | 183 typedef std::map<CastStat, double> StatsMap; |
184 typedef std::map<CastStat, linked_ptr<SimpleHistogram> > HistogramMap; | 184 typedef std::map<CastStat, linked_ptr<SimpleHistogram> > HistogramMap; |
185 typedef std::map<RtpTimestamp, FrameInfo> FrameInfoMap; | 185 typedef std::map<RtpTimeTicks, FrameInfo> FrameInfoMap; |
186 typedef std::map< | 186 typedef std::map<std::pair<RtpTimeTicks, uint16>, |
187 std::pair<RtpTimestamp, uint16>, | 187 std::pair<base::TimeTicks, CastLoggingEvent>> |
188 std::pair<base::TimeTicks, CastLoggingEvent> > | |
189 PacketEventTimeMap; | 188 PacketEventTimeMap; |
190 typedef std::map<CastLoggingEvent, FrameLogStats> FrameStatsMap; | 189 typedef std::map<CastLoggingEvent, FrameLogStats> FrameStatsMap; |
191 typedef std::map<CastLoggingEvent, PacketLogStats> PacketStatsMap; | 190 typedef std::map<CastLoggingEvent, PacketLogStats> PacketStatsMap; |
192 | 191 |
193 static const char* CastStatToString(CastStat stat); | 192 static const char* CastStatToString(CastStat stat); |
194 | 193 |
195 void InitHistograms(); | 194 void InitHistograms(); |
196 | 195 |
197 // Assigns |stats_map| with stats data. Used for testing. | 196 // Assigns |stats_map| with stats data. Used for testing. |
198 void GetStatsInternal(StatsMap* stats_map) const; | 197 void GetStatsInternal(StatsMap* stats_map) const; |
199 | 198 |
200 // Return a histogram of the type specified. | 199 // Return a histogram of the type specified. |
201 SimpleHistogram* GetHistogramForTesting(CastStat stats) const; | 200 SimpleHistogram* GetHistogramForTesting(CastStat stats) const; |
202 | 201 |
203 void UpdateFirstLastEventTime(base::TimeTicks timestamp, | 202 void UpdateFirstLastEventTime(base::TimeTicks timestamp, |
204 bool is_receiver_event); | 203 bool is_receiver_event); |
205 bool GetReceiverOffset(base::TimeDelta* offset); | 204 bool GetReceiverOffset(base::TimeDelta* offset); |
206 void MaybeInsertFrameInfo(RtpTimestamp rtp_timestamp, | 205 void MaybeInsertFrameInfo(RtpTimeTicks rtp_timestamp, |
207 const FrameInfo& frame_info); | 206 const FrameInfo& frame_info); |
208 void RecordFrameCaptureTime(const FrameEvent& frame_event); | 207 void RecordFrameCaptureTime(const FrameEvent& frame_event); |
209 void RecordCaptureLatency(const FrameEvent& frame_event); | 208 void RecordCaptureLatency(const FrameEvent& frame_event); |
210 void RecordEncodeLatency(const FrameEvent& frame_event); | 209 void RecordEncodeLatency(const FrameEvent& frame_event); |
211 void RecordFrameTxLatency(const FrameEvent& frame_event); | 210 void RecordFrameTxLatency(const FrameEvent& frame_event); |
212 void RecordE2ELatency(const FrameEvent& frame_event); | 211 void RecordE2ELatency(const FrameEvent& frame_event); |
213 void RecordPacketSentTime(const PacketEvent& packet_event); | 212 void RecordPacketSentTime(const PacketEvent& packet_event); |
214 void ErasePacketSentTime(const PacketEvent& packet_event); | 213 void ErasePacketSentTime(const PacketEvent& packet_event); |
215 void RecordPacketRelatedLatencies(const PacketEvent& packet_event); | 214 void RecordPacketRelatedLatencies(const PacketEvent& packet_event); |
216 void UpdateLastResponseTime(base::TimeTicks receiver_time); | 215 void UpdateLastResponseTime(base::TimeTicks receiver_time); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 HistogramMap histograms_; | 275 HistogramMap histograms_; |
277 | 276 |
278 base::ThreadChecker thread_checker_; | 277 base::ThreadChecker thread_checker_; |
279 DISALLOW_COPY_AND_ASSIGN(StatsEventSubscriber); | 278 DISALLOW_COPY_AND_ASSIGN(StatsEventSubscriber); |
280 }; | 279 }; |
281 | 280 |
282 } // namespace cast | 281 } // namespace cast |
283 } // namespace media | 282 } // namespace media |
284 | 283 |
285 #endif // MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ | 284 #endif // MEDIA_CAST_LOGGING_STATS_EVENT_SUBSCRIBER_H_ |
OLD | NEW |