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

Side by Side Diff: extensions/browser/api/cast_channel/logger.cc

Issue 580923002: Ignore uninteresting events when recording the last errors to report (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 | « no previous file | extensions/browser/api/cast_channel/logger_unittest.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 "extensions/browser/api/cast_channel/logger.h" 5 #include "extensions/browser/api/cast_channel/logger.h"
6 6
7 #include <string>
8
7 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
8 #include "base/time/tick_clock.h" 10 #include "base/time/tick_clock.h"
9 #include "extensions/browser/api/cast_channel/cast_auth_util.h" 11 #include "extensions/browser/api/cast_channel/cast_auth_util.h"
10 #include "extensions/browser/api/cast_channel/logger_util.h" 12 #include "extensions/browser/api/cast_channel/logger_util.h"
11 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
12 #include "third_party/zlib/zlib.h" 14 #include "third_party/zlib/zlib.h"
13 15
14 namespace extensions { 16 namespace extensions {
15 namespace core_api { 17 namespace core_api {
16 namespace cast_channel { 18 namespace cast_channel {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 93
92 result = deflateEnd(&stream); 94 result = deflateEnd(&stream);
93 DCHECK(result == Z_OK || result == Z_DATA_ERROR); 95 DCHECK(result == Z_OK || result == Z_DATA_ERROR);
94 96
95 if (success) 97 if (success)
96 *length = out_size - stream.avail_out; 98 *length = out_size - stream.avail_out;
97 99
98 return out.Pass(); 100 return out.Pass();
99 } 101 }
100 102
103 // Returns true if the event type should be reported to the API as the last
104 // socket event before an error occurred. Some events are not interesting and
105 // should be ignored.
106 bool IsInterestingEventType(EventType type) {
107 switch (type) {
108 case proto::READY_STATE_CHANGED:
109 case proto::ERROR_STATE_CHANGED:
imcheng 2014/09/17 22:34:08 Are other state changes (read/write/connect states
mark a. foltz 2014/10/09 23:51:42 Changed this to just check for errors set as you m
110 case proto::NOTIFY_ON_MESSAGE:
111 case proto::NOTIFY_ON_ERROR:
112 return false;
113 default:
114 return true;
115 }
116 }
117
101 } // namespace 118 } // namespace
102 119
103 Logger::AggregatedSocketEventLog::AggregatedSocketEventLog() { 120 Logger::AggregatedSocketEventLog::AggregatedSocketEventLog() {
104 } 121 }
105 122
106 Logger::AggregatedSocketEventLog::~AggregatedSocketEventLog() { 123 Logger::AggregatedSocketEventLog::~AggregatedSocketEventLog() {
107 } 124 }
108 125
109 Logger::Logger(scoped_ptr<base::TickClock> clock, 126 Logger::Logger(scoped_ptr<base::TickClock> clock,
110 base::TimeTicks unix_epoch_time_ticks) 127 base::TimeTicks unix_epoch_time_ticks)
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 } 300 }
284 301
285 std::deque<proto::SocketEvent>& socket_events = it->second->socket_events; 302 std::deque<proto::SocketEvent>& socket_events = it->second->socket_events;
286 if (socket_events.size() >= kMaxEventsPerSocket) { 303 if (socket_events.size() >= kMaxEventsPerSocket) {
287 socket_events.pop_front(); 304 socket_events.pop_front();
288 log_.set_num_evicted_socket_events(log_.num_evicted_socket_events() + 1); 305 log_.set_num_evicted_socket_events(log_.num_evicted_socket_events() + 1);
289 } 306 }
290 307
291 socket_events.push_back(socket_event); 308 socket_events.push_back(socket_event);
292 309
293 it->second->last_errors.event_type = socket_event.type(); 310 if (IsInterestingEventType(socket_event.type())) {
294 if (socket_event.has_net_return_value()) { 311 it->second->last_errors.event_type = socket_event.type();
312 }
313 if (socket_event.has_net_return_value() &&
314 socket_event.net_return_value() != net::ERR_IO_PENDING) {
295 it->second->last_errors.net_return_value = socket_event.net_return_value(); 315 it->second->last_errors.net_return_value = socket_event.net_return_value();
296 } 316 }
297 if (socket_event.has_challenge_reply_error_type()) { 317 if (socket_event.has_challenge_reply_error_type()) {
298 it->second->last_errors.challenge_reply_error_type = 318 it->second->last_errors.challenge_reply_error_type =
299 socket_event.challenge_reply_error_type(); 319 socket_event.challenge_reply_error_type();
300 } 320 }
301 if (socket_event.has_nss_error_code()) 321 if (socket_event.has_nss_error_code())
302 it->second->last_errors.nss_error_code = socket_event.nss_error_code(); 322 it->second->last_errors.nss_error_code = socket_event.nss_error_code();
303 323
304 return it->second->aggregated_socket_event; 324 return it->second->aggregated_socket_event;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 AggregatedSocketEventLogMap::const_iterator it = 369 AggregatedSocketEventLogMap::const_iterator it =
350 aggregated_socket_events_.find(channel_id); 370 aggregated_socket_events_.find(channel_id);
351 if (it != aggregated_socket_events_.end()) { 371 if (it != aggregated_socket_events_.end()) {
352 return it->second->last_errors; 372 return it->second->last_errors;
353 } else { 373 } else {
354 return LastErrors(); 374 return LastErrors();
355 } 375 }
356 } 376 }
357 377
358 } // namespace cast_channel 378 } // namespace cast_channel
359 } // namespace api 379 } // namespace core_api
360 } // namespace extensions 380 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | extensions/browser/api/cast_channel/logger_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698