OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
io_utils.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3 //
4 
5 #ifndef SRC_IO_IO_UTILS_H_
6 #define SRC_IO_IO_UTILS_H_
7 
8 #include <tbb/atomic.h>
9 
10 class SocketIOStats;
11 
12 namespace io {
13 
14 struct SocketStats {
15  SocketStats();
16 
17  void GetRxStats(SocketIOStats *socket_stats) const;
18  void GetTxStats(SocketIOStats *socket_stats) const;
19 
20  tbb::atomic<uint64_t> read_calls;
21  tbb::atomic<uint64_t> read_bytes;
22  tbb::atomic<uint64_t> read_errors;
23  tbb::atomic<uint64_t> write_calls;
24  tbb::atomic<uint64_t> write_bytes;
25  tbb::atomic<uint64_t> write_errors;
26  tbb::atomic<uint64_t> write_block_start_time;
27  tbb::atomic<uint64_t> write_blocked;
28  tbb::atomic<uint64_t> write_blocked_duration_usecs;
29  tbb::atomic<uint64_t> read_block_start_time;
30  tbb::atomic<uint64_t> read_blocked;
31  tbb::atomic<uint64_t> read_blocked_duration_usecs;
32 };
33 
34 } // namespace io
35 
36 #endif // SRC_IO_IO_UTILS_H_
tbb::atomic< uint64_t > read_blocked
Definition: io_utils.h:30
tbb::atomic< uint64_t > write_block_start_time
Definition: io_utils.h:26
tbb::atomic< uint64_t > write_errors
Definition: io_utils.h:25
tbb::atomic< uint64_t > write_bytes
Definition: io_utils.h:24
tbb::atomic< uint64_t > write_blocked
Definition: io_utils.h:27
void GetTxStats(SocketIOStats *socket_stats) const
Definition: io_utils.cc:47
tbb::atomic< uint64_t > write_calls
Definition: io_utils.h:23
tbb::atomic< uint64_t > read_bytes
Definition: io_utils.h:21
tbb::atomic< uint64_t > read_calls
Definition: io_utils.h:20
tbb::atomic< uint64_t > read_blocked_duration_usecs
Definition: io_utils.h:31
tbb::atomic< uint64_t > write_blocked_duration_usecs
Definition: io_utils.h:28
void GetRxStats(SocketIOStats *socket_stats) const
Definition: io_utils.cc:28
tbb::atomic< uint64_t > read_errors
Definition: io_utils.h:22
tbb::atomic< uint64_t > read_block_start_time
Definition: io_utils.h:29