Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 82 trackers_[net::NetLog::SOURCE_DNS_TRANSACTION] = &dns_transaction_tracker_; | 82 trackers_[net::NetLog::SOURCE_DNS_TRANSACTION] = &dns_transaction_tracker_; |
| 83 trackers_[net::NetLog::SOURCE_ASYNC_HOST_RESOLVER_REQUEST] = | 83 trackers_[net::NetLog::SOURCE_ASYNC_HOST_RESOLVER_REQUEST] = |
| 84 &async_host_resolver_request_tracker_; | 84 &async_host_resolver_request_tracker_; |
| 85 trackers_[net::NetLog::SOURCE_UDP_SOCKET] = &udp_socket_tracker_; | 85 trackers_[net::NetLog::SOURCE_UDP_SOCKET] = &udp_socket_tracker_; |
| 86 trackers_[net::NetLog::SOURCE_CERT_VERIFIER_JOB] = | 86 trackers_[net::NetLog::SOURCE_CERT_VERIFIER_JOB] = |
| 87 &cert_verifier_job_tracker_; | 87 &cert_verifier_job_tracker_; |
| 88 trackers_[net::NetLog::SOURCE_HTTP_PIPELINED_CONNECTION] = | 88 trackers_[net::NetLog::SOURCE_HTTP_PIPELINED_CONNECTION] = |
| 89 &http_pipelined_connection_tracker_; | 89 &http_pipelined_connection_tracker_; |
| 90 trackers_[net::NetLog::SOURCE_FILESTREAM] = | 90 trackers_[net::NetLog::SOURCE_FILESTREAM] = |
| 91 &file_stream_tracker_; | 91 &file_stream_tracker_; |
| 92 trackers_[net::NetLog::SOURCE_DOWNLOAD] = | |
| 93 &download_tracker_; | |
|
mmenke
2012/02/04 05:49:45
nit: Move above FILESTREAM line, to be consistent
ahendrickson
2012/02/04 19:27:56
Done.
| |
| 92 // Make sure our mapping is up-to-date. | 94 // Make sure our mapping is up-to-date. |
| 93 for (size_t i = 0; i < arraysize(trackers_); ++i) | 95 for (size_t i = 0; i < arraysize(trackers_); ++i) |
| 94 DCHECK(trackers_[i]) << "Unhandled SourceType: " << i; | 96 DCHECK(trackers_[i]) << "Unhandled SourceType: " << i; |
| 95 } | 97 } |
| 96 | 98 |
| 97 PassiveLogCollector::~PassiveLogCollector() { | 99 PassiveLogCollector::~PassiveLogCollector() { |
| 98 } | 100 } |
| 99 | 101 |
| 100 void PassiveLogCollector::OnAddEntry( | 102 void PassiveLogCollector::OnAddEntry( |
| 101 net::NetLog::EventType type, | 103 net::NetLog::EventType type, |
| (...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 841 SourceInfo* out_info) { | 843 SourceInfo* out_info) { |
| 842 AddEntryToSourceInfo(entry, out_info); | 844 AddEntryToSourceInfo(entry, out_info); |
| 843 if (entry.type == net::NetLog::TYPE_HTTP_PIPELINED_CONNECTION && | 845 if (entry.type == net::NetLog::TYPE_HTTP_PIPELINED_CONNECTION && |
| 844 entry.phase == net::NetLog::PHASE_END) { | 846 entry.phase == net::NetLog::PHASE_END) { |
| 845 return ACTION_MOVE_TO_GRAVEYARD; | 847 return ACTION_MOVE_TO_GRAVEYARD; |
| 846 } | 848 } |
| 847 return ACTION_NONE; | 849 return ACTION_NONE; |
| 848 } | 850 } |
| 849 | 851 |
| 850 //---------------------------------------------------------------------------- | 852 //---------------------------------------------------------------------------- |
| 853 // DownloadTracker | |
| 854 //---------------------------------------------------------------------------- | |
| 855 | |
| 856 const size_t PassiveLogCollector::DownloadTracker::kMaxNumSources = 200; | |
| 857 | |
| 858 const size_t PassiveLogCollector::DownloadTracker::kMaxGraveyardSize = 50; | |
| 859 | |
| 860 PassiveLogCollector::DownloadTracker::DownloadTracker() | |
| 861 : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) { | |
| 862 } | |
| 863 | |
| 864 PassiveLogCollector::SourceTracker::Action | |
| 865 PassiveLogCollector::DownloadTracker::DoAddEntry( | |
| 866 const ChromeNetLog::Entry& entry, | |
| 867 SourceInfo* out_info) { | |
| 868 if (entry.type == net::NetLog::TYPE_DOWNLOAD_FILE_WRITTEN) | |
| 869 return ACTION_NONE; // Don't passively log these (too many). | |
| 870 AddEntryToSourceInfo(entry, out_info); | |
| 871 if (entry.type == net::NetLog::TYPE_DOWNLOAD_FILE_OPENED && | |
| 872 entry.phase == net::NetLog::PHASE_END) { | |
| 873 return ACTION_MOVE_TO_GRAVEYARD; | |
| 874 } | |
| 875 return ACTION_NONE; | |
| 876 } | |
| 877 | |
| 878 //---------------------------------------------------------------------------- | |
| 851 // FileStreamTracker | 879 // FileStreamTracker |
| 852 //---------------------------------------------------------------------------- | 880 //---------------------------------------------------------------------------- |
| 853 | 881 |
| 854 const size_t | 882 const size_t PassiveLogCollector::FileStreamTracker::kMaxNumSources = 100; |
| 855 PassiveLogCollector::FileStreamTracker::kMaxNumSources = 100; | |
| 856 | 883 |
| 857 const size_t | 884 const size_t PassiveLogCollector::FileStreamTracker::kMaxGraveyardSize = 25; |
| 858 PassiveLogCollector::FileStreamTracker::kMaxGraveyardSize = 25; | |
| 859 | 885 |
| 860 PassiveLogCollector:: | 886 PassiveLogCollector::FileStreamTracker::FileStreamTracker() |
| 861 FileStreamTracker::FileStreamTracker() | 887 : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) { |
| 862 : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) { | |
| 863 } | 888 } |
| 864 | 889 |
| 865 PassiveLogCollector::SourceTracker::Action | 890 PassiveLogCollector::SourceTracker::Action |
| 866 PassiveLogCollector::FileStreamTracker::DoAddEntry( | 891 PassiveLogCollector::FileStreamTracker::DoAddEntry( |
| 867 const ChromeNetLog::Entry& entry, | 892 const ChromeNetLog::Entry& entry, |
| 868 SourceInfo* out_info) { | 893 SourceInfo* out_info) { |
| 869 AddEntryToSourceInfo(entry, out_info); | 894 AddEntryToSourceInfo(entry, out_info); |
| 870 if (entry.type == net::NetLog::TYPE_FILE_STREAM_ALIVE && | 895 if (entry.type == net::NetLog::TYPE_FILE_STREAM_ALIVE && |
| 871 entry.phase == net::NetLog::PHASE_END) { | 896 entry.phase == net::NetLog::PHASE_END) { |
| 872 return ACTION_MOVE_TO_GRAVEYARD; | 897 return ACTION_MOVE_TO_GRAVEYARD; |
| 873 } | 898 } |
| 874 return ACTION_NONE; | 899 return ACTION_NONE; |
| 875 } | 900 } |
| OLD | NEW |