OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/net/passive_log_collector.h" | 5 #include "chrome/browser/net/passive_log_collector.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 // Define the mapping between source types and the tracker objects. | 50 // Define the mapping between source types and the tracker objects. |
51 memset(&trackers_[0], 0, sizeof(trackers_)); | 51 memset(&trackers_[0], 0, sizeof(trackers_)); |
52 trackers_[net::NetLog::SOURCE_NONE] = &global_source_tracker_; | 52 trackers_[net::NetLog::SOURCE_NONE] = &global_source_tracker_; |
53 trackers_[net::NetLog::SOURCE_URL_REQUEST] = &url_request_tracker_; | 53 trackers_[net::NetLog::SOURCE_URL_REQUEST] = &url_request_tracker_; |
54 trackers_[net::NetLog::SOURCE_SOCKET_STREAM] = &socket_stream_tracker_; | 54 trackers_[net::NetLog::SOURCE_SOCKET_STREAM] = &socket_stream_tracker_; |
55 trackers_[net::NetLog::SOURCE_CONNECT_JOB] = &connect_job_tracker_; | 55 trackers_[net::NetLog::SOURCE_CONNECT_JOB] = &connect_job_tracker_; |
56 trackers_[net::NetLog::SOURCE_SOCKET] = &socket_tracker_; | 56 trackers_[net::NetLog::SOURCE_SOCKET] = &socket_tracker_; |
57 trackers_[net::NetLog::SOURCE_INIT_PROXY_RESOLVER] = | 57 trackers_[net::NetLog::SOURCE_INIT_PROXY_RESOLVER] = |
58 &init_proxy_resolver_tracker_; | 58 &init_proxy_resolver_tracker_; |
59 trackers_[net::NetLog::SOURCE_SPDY_SESSION] = &spdy_session_tracker_; | 59 trackers_[net::NetLog::SOURCE_SPDY_SESSION] = &spdy_session_tracker_; |
60 | 60 trackers_[net::NetLog::SOURCE_HOST_RESOLVER_IMPL_REQUEST] = |
| 61 &dns_request_tracker_; |
| 62 trackers_[net::NetLog::SOURCE_HOST_RESOLVER_IMPL_JOB] = &dns_job_tracker_; |
61 // Make sure our mapping is up-to-date. | 63 // Make sure our mapping is up-to-date. |
62 for (size_t i = 0; i < arraysize(trackers_); ++i) | 64 for (size_t i = 0; i < arraysize(trackers_); ++i) |
63 DCHECK(trackers_[i]) << "Unhandled SourceType: " << i; | 65 DCHECK(trackers_[i]) << "Unhandled SourceType: " << i; |
64 } | 66 } |
65 | 67 |
66 PassiveLogCollector::~PassiveLogCollector() { | 68 PassiveLogCollector::~PassiveLogCollector() { |
67 } | 69 } |
68 | 70 |
69 void PassiveLogCollector::OnAddEntry( | 71 void PassiveLogCollector::OnAddEntry( |
70 net::NetLog::EventType type, | 72 net::NetLog::EventType type, |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 PassiveLogCollector::SpdySessionTracker::DoAddEntry(const Entry& entry, | 480 PassiveLogCollector::SpdySessionTracker::DoAddEntry(const Entry& entry, |
479 SourceInfo* out_info) { | 481 SourceInfo* out_info) { |
480 AddEntryToSourceInfo(entry, out_info); | 482 AddEntryToSourceInfo(entry, out_info); |
481 if (entry.type == net::NetLog::TYPE_SPDY_SESSION && | 483 if (entry.type == net::NetLog::TYPE_SPDY_SESSION && |
482 entry.phase == net::NetLog::PHASE_END) { | 484 entry.phase == net::NetLog::PHASE_END) { |
483 return ACTION_MOVE_TO_GRAVEYARD; | 485 return ACTION_MOVE_TO_GRAVEYARD; |
484 } else { | 486 } else { |
485 return ACTION_NONE; | 487 return ACTION_NONE; |
486 } | 488 } |
487 } | 489 } |
| 490 |
| 491 //---------------------------------------------------------------------------- |
| 492 // DNSRequestTracker |
| 493 //---------------------------------------------------------------------------- |
| 494 |
| 495 const size_t PassiveLogCollector::DNSRequestTracker::kMaxNumSources = 200; |
| 496 const size_t PassiveLogCollector::DNSRequestTracker::kMaxGraveyardSize = 20; |
| 497 |
| 498 PassiveLogCollector::DNSRequestTracker::DNSRequestTracker() |
| 499 : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) { |
| 500 } |
| 501 |
| 502 PassiveLogCollector::SourceTracker::Action |
| 503 PassiveLogCollector::DNSRequestTracker::DoAddEntry(const Entry& entry, |
| 504 SourceInfo* out_info) { |
| 505 AddEntryToSourceInfo(entry, out_info); |
| 506 if (entry.type == net::NetLog::TYPE_HOST_RESOLVER_IMPL_REQUEST && |
| 507 entry.phase == net::NetLog::PHASE_END) { |
| 508 return ACTION_MOVE_TO_GRAVEYARD; |
| 509 } else { |
| 510 return ACTION_NONE; |
| 511 } |
| 512 } |
| 513 |
| 514 //---------------------------------------------------------------------------- |
| 515 // DNSJobTracker |
| 516 //---------------------------------------------------------------------------- |
| 517 |
| 518 const size_t PassiveLogCollector::DNSJobTracker::kMaxNumSources = 100; |
| 519 const size_t PassiveLogCollector::DNSJobTracker::kMaxGraveyardSize = 15; |
| 520 |
| 521 PassiveLogCollector::DNSJobTracker::DNSJobTracker() |
| 522 : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) { |
| 523 } |
| 524 |
| 525 PassiveLogCollector::SourceTracker::Action |
| 526 PassiveLogCollector::DNSJobTracker::DoAddEntry(const Entry& entry, |
| 527 SourceInfo* out_info) { |
| 528 AddEntryToSourceInfo(entry, out_info); |
| 529 if (entry.type == net::NetLog::TYPE_HOST_RESOLVER_IMPL_JOB && |
| 530 entry.phase == net::NetLog::PHASE_END) { |
| 531 return ACTION_MOVE_TO_GRAVEYARD; |
| 532 } else { |
| 533 return ACTION_NONE; |
| 534 } |
| 535 } |
| 536 |
OLD | NEW |