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

Side by Side Diff: net/log/file_net_log_observer.h

Issue 2973673003: Use FileNetLogObserver for implementing --log-net-log. (Closed)
Patch Set: address comments Created 3 years, 5 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 | « components/net_log/net_export_file_writer.cc ('k') | net/log/file_net_log_observer.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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 NET_LOG_FILE_NET_LOG_OBSERVER_H_ 5 #ifndef NET_LOG_FILE_NET_LOG_OBSERVER_H_
6 #define NET_LOG_FILE_NET_LOG_OBSERVER_H_ 6 #define NET_LOG_FILE_NET_LOG_OBSERVER_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 24 matching lines...) Expand all
35 // 35 //
36 // The user is able to specify an approximate maximum cumulative size for the 36 // The user is able to specify an approximate maximum cumulative size for the
37 // netlog files and the observer overwrites old events when the maximum file 37 // netlog files and the observer overwrites old events when the maximum file
38 // size is reached. 38 // size is reached.
39 // 39 //
40 // Unbounded mode: 40 // Unbounded mode:
41 // The entire JSON object is put into one file. There is no size limit to how 41 // The entire JSON object is put into one file. There is no size limit to how
42 // large this file can grow; all events added will be written to the file. 42 // large this file can grow; all events added will be written to the file.
43 // 43 //
44 // The consumer must call StartObserving before calling StopObserving, and must 44 // The consumer must call StartObserving before calling StopObserving, and must
45 // call each method exactly once in the lifetime of the observer. StartObserving 45 // call each method exactly once in the lifetime of the observer.
46 // and StopObserving must be called on the same thread, but there is no
47 // restriction on which thread is used.
48 class NET_EXPORT FileNetLogObserver : public NetLog::ThreadSafeObserver { 46 class NET_EXPORT FileNetLogObserver : public NetLog::ThreadSafeObserver {
49 public: 47 public:
50 // Creates a FileNetLogObserver in bounded mode. 48 // Creates a FileNetLogObserver in bounded mode.
51 // 49 //
52 // |directory| is the directory where the log files will be written to. 50 // |directory| is the directory where the log files will be written to.
53 // 51 //
54 // |max_total_size| is the approximate limit on the cumulative size of all 52 // |max_total_size| is the approximate limit on the cumulative size of all
55 // netlog files. 53 // netlog files.
56 // 54 //
57 // |total_num_files| sets the total number of event files that are used to 55 // |total_num_files| sets the total number of event files that are used to
(...skipping 25 matching lines...) Expand all
83 void StartObserving(NetLog* net_log, NetLogCaptureMode capture_mode); 81 void StartObserving(NetLog* net_log, NetLogCaptureMode capture_mode);
84 82
85 // Stops observing net_log() and closes the output file(s). Must be called 83 // Stops observing net_log() and closes the output file(s). Must be called
86 // after StartObserving. Should be called before destruction of the 84 // after StartObserving. Should be called before destruction of the
87 // FileNetLogObserver and the NetLog, or the NetLog files will be deleted when 85 // FileNetLogObserver and the NetLog, or the NetLog files will be deleted when
88 // the observer is destroyed. 86 // the observer is destroyed.
89 // 87 //
90 // |polled_data| is an optional argument used to add additional network stack 88 // |polled_data| is an optional argument used to add additional network stack
91 // state to the log. 89 // state to the log.
92 // 90 //
93 // |callback| will be run on whichever thread StopObserving() was called on 91 // If non-null, |optional_callback| will be run on whichever thread
94 // once all file writing is complete and the netlog files can be accessed 92 // StopObserving() was called on once all file writing is complete and the
95 // safely. 93 // netlog files can be accessed safely.
96 void StopObserving(std::unique_ptr<base::Value> polled_data, 94 void StopObserving(std::unique_ptr<base::Value> polled_data,
97 const base::Closure& callback); 95 base::OnceClosure optional_callback);
98 96
99 // NetLog::ThreadSafeObserver 97 // NetLog::ThreadSafeObserver
100 void OnAddEntry(const NetLogEntry& entry) override; 98 void OnAddEntry(const NetLogEntry& entry) override;
101 99
102 private: 100 private:
103 class WriteQueue; 101 class WriteQueue;
104 class FileWriter; 102 class FileWriter;
105 class BoundedFileWriter; 103 class BoundedFileWriter;
106 class UnboundedFileWriter; 104 class UnboundedFileWriter;
107 105
(...skipping 17 matching lines...) Expand all
125 // deletion is deferred until outstanding tasks on |file_task_runner_| have 123 // deletion is deferred until outstanding tasks on |file_task_runner_| have
126 // finished (since it is posted using base::Unretained()). 124 // finished (since it is posted using base::Unretained()).
127 std::unique_ptr<FileWriter> file_writer_; 125 std::unique_ptr<FileWriter> file_writer_;
128 126
129 DISALLOW_COPY_AND_ASSIGN(FileNetLogObserver); 127 DISALLOW_COPY_AND_ASSIGN(FileNetLogObserver);
130 }; 128 };
131 129
132 } // namespace net 130 } // namespace net
133 131
134 #endif // NET_LOG_FILE_NET_LOG_OBSERVER_H_ 132 #endif // NET_LOG_FILE_NET_LOG_OBSERVER_H_
OLDNEW
« no previous file with comments | « components/net_log/net_export_file_writer.cc ('k') | net/log/file_net_log_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698