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

Side by Side Diff: net/socket_stream/socket_stream_metrics.h

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 //
5 // Collect metrics of SocketStream usage.
6 // TODO(ukai): collect WebSocket specific metrics (e.g. handshake time, etc).
7
8 #ifndef NET_SOCKET_STREAM_SOCKET_STREAM_METRICS_H_
9 #define NET_SOCKET_STREAM_SOCKET_STREAM_METRICS_H_
10
11 #include "base/basictypes.h"
12 #include "base/time/time.h"
13 #include "net/base/net_export.h"
14
15 class GURL;
16
17 namespace net {
18
19 class NET_EXPORT_PRIVATE SocketStreamMetrics {
20 public:
21 enum ProtocolType {
22 PROTOCOL_UNKNOWN,
23 PROTOCOL_WEBSOCKET,
24 PROTOCOL_WEBSOCKET_SECURE,
25 NUM_PROTOCOL_TYPES,
26 };
27
28 enum ConnectionType {
29 CONNECTION_NONE,
30 ALL_CONNECTIONS,
31 TUNNEL_CONNECTION,
32 SOCKS_CONNECTION,
33 SSL_CONNECTION,
34 SECURE_PROXY_CONNECTION,
35 NUM_CONNECTION_TYPES,
36 };
37
38 enum WireProtocolType {
39 WIRE_PROTOCOL_WEBSOCKET,
40 WIRE_PROTOCOL_SPDY,
41 NUM_WIRE_PROTOCOL_TYPES,
42 };
43
44 explicit SocketStreamMetrics(const GURL& url);
45 ~SocketStreamMetrics();
46
47 void OnWaitConnection();
48 void OnStartConnection();
49 void OnConnected();
50 void OnRead(int len);
51 void OnWrite(int len);
52 void OnClose();
53 void OnCountConnectionType(ConnectionType type);
54 void OnCountWireProtocolType(WireProtocolType type);
55
56 private:
57 base::TimeTicks wait_start_time_;
58 base::TimeTicks connect_start_time_;
59 base::TimeTicks connect_establish_time_;
60 int received_bytes_;
61 int received_counts_;
62 int sent_bytes_;
63 int sent_counts_;
64
65 DISALLOW_COPY_AND_ASSIGN(SocketStreamMetrics);
66 };
67
68 } // namespace net
69
70 #endif // NET_SOCKET_STREAM_SOCKET_STREAM_METRICS_H_
OLDNEW
« no previous file with comments | « net/socket_stream/socket_stream_job_manager.cc ('k') | net/socket_stream/socket_stream_metrics.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698