| Index: media/cast/logging/logging_impl.cc
|
| diff --git a/media/cast/logging/logging_impl.cc b/media/cast/logging/logging_impl.cc
|
| index ed189a9e28d0c5b437f39c8f672722c942d55280..97c9277f0956737c52312351f182eb217656f430 100644
|
| --- a/media/cast/logging/logging_impl.cc
|
| +++ b/media/cast/logging/logging_impl.cc
|
| @@ -10,12 +10,10 @@ namespace media {
|
| namespace cast {
|
|
|
| LoggingImpl::LoggingImpl(base::TickClock* clock,
|
| - bool enable_data_collection,
|
| - bool enable_uma_stats,
|
| - bool enable_tracing)
|
| - : enable_data_collection_(enable_data_collection),
|
| - enable_uma_stats_(enable_uma_stats),
|
| - enable_tracing_(enable_tracing),
|
| + scoped_refptr<base::TaskRunner> main_thread_proxy,
|
| + const CastLoggingConfig& config)
|
| + : main_thread_proxy_(main_thread_proxy),
|
| + config_(config),
|
| raw_(clock),
|
| stats_(clock) {}
|
|
|
| @@ -24,11 +22,12 @@ LoggingImpl::~LoggingImpl() {}
|
| void LoggingImpl::InsertFrameEvent(CastLoggingEvent event,
|
| uint32 rtp_timestamp,
|
| uint32 frame_id) {
|
| - if (enable_data_collection_) {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + if (config_.enable_data_collection) {
|
| raw_.InsertFrameEvent(event, rtp_timestamp, frame_id);
|
| stats_.InsertFrameEvent(event, rtp_timestamp, frame_id);
|
| }
|
| - if (enable_tracing_) {
|
| + if (config_.enable_tracing) {
|
| std::string event_string = CastLoggingToString(event);
|
| TRACE_EVENT_INSTANT2(event_string.c_str(), "FE",
|
| TRACE_EVENT_SCOPE_THREAD, "rtp_timestamp", rtp_timestamp, "frame_id",
|
| @@ -40,14 +39,15 @@ void LoggingImpl::InsertFrameEventWithSize(CastLoggingEvent event,
|
| uint32 rtp_timestamp,
|
| uint32 frame_id,
|
| int frame_size) {
|
| - if (enable_data_collection_) {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + if (config_.enable_data_collection) {
|
| raw_.InsertFrameEventWithSize(event, rtp_timestamp, frame_id, frame_size);
|
| stats_.InsertFrameEventWithSize(event, rtp_timestamp, frame_id, frame_size);
|
| }
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| UMA_HISTOGRAM_COUNTS(CastLoggingToString(event), frame_size);
|
| }
|
| - if (enable_tracing_) {
|
| + if (config_.enable_tracing) {
|
| std::string event_string = CastLoggingToString(event);
|
| TRACE_EVENT_INSTANT2(event_string.c_str(), "FES",
|
| TRACE_EVENT_SCOPE_THREAD, "rtp_timestamp", rtp_timestamp, "frame_size",
|
| @@ -60,14 +60,15 @@ void LoggingImpl::InsertFrameEventWithDelay(CastLoggingEvent event,
|
| uint32 rtp_timestamp,
|
| uint32 frame_id,
|
| base::TimeDelta delay) {
|
| - if (enable_data_collection_) {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + if (config_.enable_data_collection) {
|
| raw_.InsertFrameEventWithDelay(event, rtp_timestamp, frame_id, delay);
|
| stats_.InsertFrameEventWithDelay(event, rtp_timestamp, frame_id, delay);
|
| }
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| UMA_HISTOGRAM_TIMES(CastLoggingToString(event), delay);
|
| }
|
| - if (enable_tracing_) {
|
| + if (config_.enable_tracing) {
|
| std::string event_string = CastLoggingToString(event);
|
| TRACE_EVENT_INSTANT2(event_string.c_str(), "FED",
|
| TRACE_EVENT_SCOPE_THREAD, "rtp_timestamp", rtp_timestamp, "delay",
|
| @@ -80,14 +81,15 @@ void LoggingImpl::InsertPacketEvent(CastLoggingEvent event,
|
| uint32 frame_id,
|
| uint16 packet_id,
|
| uint16 max_packet_id,
|
| - int size) {
|
| - if (enable_data_collection_) {
|
| + size_t size) {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + if (config_.enable_data_collection) {
|
| raw_.InsertPacketEvent(event, rtp_timestamp, frame_id, packet_id,
|
| max_packet_id, size);
|
| stats_.InsertPacketEvent(event, rtp_timestamp, frame_id, packet_id,
|
| max_packet_id, size);
|
| }
|
| - if (enable_tracing_) {
|
| + if (config_.enable_tracing) {
|
| std::string event_string = CastLoggingToString(event);
|
| TRACE_EVENT_INSTANT2(event_string.c_str(), "PE",
|
| TRACE_EVENT_SCOPE_THREAD, "rtp_timestamp", rtp_timestamp,
|
| @@ -96,14 +98,15 @@ void LoggingImpl::InsertPacketEvent(CastLoggingEvent event,
|
| }
|
|
|
| void LoggingImpl::InsertGenericEvent(CastLoggingEvent event, int value) {
|
| - if (enable_data_collection_) {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + if (config_.enable_data_collection) {
|
| raw_.InsertGenericEvent(event, value);
|
| stats_.InsertGenericEvent(event, value);
|
| }
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| UMA_HISTOGRAM_COUNTS(CastLoggingToString(event), value);
|
| }
|
| - if (enable_tracing_) {
|
| + if (config_.enable_tracing) {
|
| std::string event_string = CastLoggingToString(event);
|
| TRACE_EVENT_INSTANT1(event_string.c_str(), "GE",
|
| TRACE_EVENT_SCOPE_THREAD, "value", value);
|
| @@ -113,21 +116,25 @@ void LoggingImpl::InsertGenericEvent(CastLoggingEvent event, int value) {
|
|
|
| // should just get the entire class, would be much easier.
|
| FrameRawMap LoggingImpl::GetFrameRawData() {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| return raw_.GetFrameData();
|
| }
|
|
|
| PacketRawMap LoggingImpl::GetPacketRawData() {
|
| - return raw_.GetPacketData();
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + return raw_.GetPacketData();
|
| }
|
|
|
| GenericRawMap LoggingImpl::GetGenericRawData() {
|
| - return raw_.GetGenericData();
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| + return raw_.GetGenericData();
|
| }
|
|
|
| const FrameStatsMap* LoggingImpl::GetFrameStatsData() {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| // Get stats data.
|
| const FrameStatsMap* stats = stats_.GetFrameStatsData();
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| FrameStatsMap::const_iterator it;
|
| for (it = stats->begin(); it != stats->end(); ++it) {
|
| // Check for an active event.
|
| @@ -159,9 +166,10 @@ const FrameStatsMap* LoggingImpl::GetFrameStatsData() {
|
| }
|
|
|
| const PacketStatsMap* LoggingImpl::GetPacketStatsData() {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| // Get stats data.
|
| const PacketStatsMap* stats = stats_.GetPacketStatsData();
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| PacketStatsMap::const_iterator it;
|
| for (it = stats->begin(); it != stats->end(); ++it) {
|
| if (it->second > 0) {
|
| @@ -174,9 +182,10 @@ const PacketStatsMap* LoggingImpl::GetPacketStatsData() {
|
| }
|
|
|
| const GenericStatsMap* LoggingImpl::GetGenericStatsData() {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| // Get stats data.
|
| const GenericStatsMap* stats = stats_.GetGenericStatsData();
|
| - if (enable_uma_stats_) {
|
| + if (config_.enable_uma_stats) {
|
| GenericStatsMap::const_iterator it;
|
| for (it = stats->begin(); it != stats->end(); ++it) {
|
| if (it->second > 0) {
|
| @@ -188,6 +197,7 @@ const GenericStatsMap* LoggingImpl::GetGenericStatsData() {
|
| }
|
|
|
| void LoggingImpl::Reset() {
|
| + DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
|
| raw_.Reset();
|
| stats_.Reset();
|
| }
|
|
|