1KNET_HANDLE_GET_STATS(3) Kronosnet Programmer's ManualKNET_HANDLE_GET_STATS(3)
2
3
4
6 knet_handle_get_stats - Get statistics for compression & crypto.
7
8
10 #include <libknet.h>
11
12 int knet_handle_get_stats(
13 knet_handle_t knet_h,
14 struct knet_handle_stats *stats,
15 size_t struct_size
16 );
17
19 knet_handle_get_stats
20
21 knet_h - pointer to knet_handle_t
22
23 knet_handle_stats pointer to a knet_handle_stats structure
24
25 struct_size size of knet_handle_stats structure to allow for backwards
26 compatibility. libknet will only copy this much data into the stats
27 structure so that older callers will not get overflowed if new fields
28 are added.
29
31 Detailed stats for this knet handle as returned by knet_handle_get_stats()
32
33 struct knet_handle_stats {
34 /*
35 * Size of the structure. set this to sizeof(struct knet_handle_stats)
36 * before calling
37 */
38 size_t size;
39 uint64_t tx_uncompressed_packets; /* Number of uncompressed packets sent */
40 uint64_t tx_compressed_packets; /* Number of compressed packets sent */
41 /*
42 * Number of bytes sent (as if uncompressed, ie actual data bytes)
43 */
44 uint64_t tx_compressed_original_bytes;
45 uint64_t tx_compressed_size_bytes; /* Number of bytes sent on the wire after compresion */
46 /*
47 * Average(mean) time take to compress transmitted packets
48 */
49 uint64_t tx_compress_time_ave;
50 /*
51 * Minumum time taken to compress transmitted packets
52 */
53 uint64_t tx_compress_time_min;
54 /*
55 * Maximum time taken to compress transmitted packets
56 */
57 uint64_t tx_compress_time_max;
58 uint64_t rx_compressed_packets; /* Number of compressed packets received */
59 uint64_t rx_compressed_original_bytes; /* Number of bytes received - after decompression */
60 /*
61 * Number of compressed bytes received before decompression
62 */
63 uint64_t rx_compressed_size_bytes;
64 /*
65 * Average(mean) time take to decompress received packets
66 */
67 uint64_t rx_compress_time_ave;
68 uint64_t rx_compress_time_min; /* Minimum time take to decompress received packets */
69 uint64_t rx_compress_time_max; /* Maximum time take to decompress received packets */
70 uint64_t tx_crypt_packets; /* Number of encrypted packets sent */
71 uint64_t tx_crypt_byte_overhead; /* Cumulative byte overhead of encrypted traffic */
72 /*
73 * Average(mean) time take to encrypt packets in usecs
74 */
75 uint64_t tx_crypt_time_ave;
76 uint64_t tx_crypt_time_min; /* Minimum time take to encrypto packets in usecs */
77 uint64_t tx_crypt_time_max; /* Maximum time take to encrypto packets in usecs */
78 uint64_t rx_crypt_packets; /* Number of encrypted packets received */
79 /*
80 * Average(mean) time take to decrypt received packets
81 */
82 uint64_t rx_crypt_time_ave;
83 /*
84 * Minimum time take to decrypt received packets in usecs
85 */
86 uint64_t rx_crypt_time_min;
87 /*
88 * Maximum time take to decrypt received packets in usecs
89 */
90 uint64_t rx_crypt_time_max;
91 };
92
94 0 on success -1 on error and errno is set.
95
97 knet_handle_remove_datafd(3), knet_host_add(3),
98 knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3),
99 knet_handle_crypto_use_config(3), knet_host_get_id_by_host_name(3),
100 knet_host_get_status(3), knet_link_add_acl(3),
101 knet_link_get_pong_count(3), knet_link_get_priority(3),
102 knet_handle_free(3), knet_handle_enable_sock_notify(3),
103 knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3),
104 knet_log_get_subsystem_id(3), knet_host_remove(3),
105 knet_host_enable_status_change_notify(3), knet_strtoaddr(3),
106 knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3),
107 knet_handle_get_transport_reconnect_interval(3),
108 knet_link_get_enable(3), knet_link_set_priority(3),
109 knet_log_set_loglevel(3), knet_handle_get_channel(3),
110 knet_link_get_config(3), knet_link_get_link_list(3),
111 knet_get_transport_list(3), knet_get_transport_id_by_name(3),
112 knet_log_get_loglevel_id(3), knet_handle_new_ex(3),
113 knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3),
114 knet_get_compress_list(3), knet_host_set_policy(3),
115 knet_get_transport_name_by_id(3), knet_handle_enable_filter(3),
116 knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3),
117 knet_link_get_status(3), knet_handle_add_datafd(3), knet_send_sync(3),
118 knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3),
119 knet_host_get_host_list(3), knet_host_get_policy(3),
120 knet_link_set_enable(3), knet_link_set_pong_count(3),
121 knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3),
122 knet_link_clear_config(3), knet_log_get_loglevel(3),
123 knet_handle_new(3), knet_handle_pmtud_getfreq(3),
124 knet_handle_pmtud_set(3), knet_handle_clear_stats(3),
125 knet_link_set_config(3), knet_handle_crypto_set_config(3),
126 knet_handle_crypto(3), knet_get_crypto_list(3),
127 knet_handle_set_transport_reconnect_interval(3),
128 knet_link_clear_acl(3), knet_link_set_ping_timers(3),
129 knet_link_insert_acl(3)
130
132 Copyright (C) 2010-2022 Red Hat, Inc. All rights reserved.
133
134
135
136kronosnet 2022-05-30 KNET_HANDLE_GET_STATS(3)