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 /*
46 * Number of bytes sent on the wire after compression
47 */
48 uint64_t tx_compressed_size_bytes;
49 /*
50 * Average(mean) time take to compress transmitted packets
51 */
52 uint64_t tx_compress_time_ave;
53 /*
54 * Minimum time taken to compress transmitted packets
55 */
56 uint64_t tx_compress_time_min;
57 /*
58 * Maximum time taken to compress transmitted packets
59 */
60 uint64_t tx_compress_time_max;
61 uint64_t rx_compressed_packets; /* Number of compressed packets received */
62 uint64_t rx_compressed_original_bytes; /* Number of bytes received - after decompression */
63 /*
64 * Number of compressed bytes received before decompression
65 */
66 uint64_t rx_compressed_size_bytes;
67 /*
68 * Average(mean) time take to decompress received packets
69 */
70 uint64_t rx_compress_time_ave;
71 uint64_t rx_compress_time_min; /* Minimum time take to decompress received packets */
72 uint64_t rx_compress_time_max; /* Maximum time take to decompress received packets */
73 uint64_t tx_crypt_packets; /* Number of encrypted packets sent */
74 uint64_t tx_crypt_byte_overhead; /* Cumulative byte overhead of encrypted traffic */
75 /*
76 * Average(mean) time take to encrypt packets in usecs
77 */
78 uint64_t tx_crypt_time_ave;
79 uint64_t tx_crypt_time_min; /* Minimum time take to encrypto packets in usecs */
80 uint64_t tx_crypt_time_max; /* Maximum time take to encrypto packets in usecs */
81 uint64_t rx_crypt_packets; /* Number of encrypted packets received */
82 /*
83 * Average(mean) time take to decrypt received packets
84 */
85 uint64_t rx_crypt_time_ave;
86 /*
87 * Minimum time take to decrypt received packets in usecs
88 */
89 uint64_t rx_crypt_time_min;
90 /*
91 * Maximum time take to decrypt received packets in usecs
92 */
93 uint64_t rx_crypt_time_max;
94 };
95
97 0 on success -1 on error and errno is set.
98
100 knet_handle_remove_datafd(3), knet_host_add(3),
101 knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3),
102 knet_handle_crypto_use_config(3), knet_host_get_id_by_host_name(3),
103 knet_host_get_status(3), knet_link_add_acl(3),
104 knet_link_get_pong_count(3), knet_link_get_priority(3),
105 knet_handle_free(3), knet_handle_enable_sock_notify(3),
106 knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3),
107 knet_log_get_subsystem_id(3), knet_host_remove(3),
108 knet_host_enable_status_change_notify(3), knet_strtoaddr(3),
109 knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3),
110 knet_handle_get_transport_reconnect_interval(3),
111 knet_link_get_enable(3), knet_link_set_priority(3),
112 knet_log_set_loglevel(3), knet_handle_get_channel(3),
113 knet_link_get_config(3), knet_link_get_link_list(3),
114 knet_get_transport_list(3), knet_get_transport_id_by_name(3),
115 knet_log_get_loglevel_id(3), knet_handle_new_ex(3),
116 knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3),
117 knet_get_compress_list(3), knet_host_set_policy(3),
118 knet_get_transport_name_by_id(3), knet_handle_enable_filter(3),
119 knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3),
120 knet_link_get_status(3), knet_handle_add_datafd(3), knet_send_sync(3),
121 knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3),
122 knet_host_get_host_list(3), knet_host_get_policy(3),
123 knet_link_set_enable(3), knet_link_set_pong_count(3),
124 knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3),
125 knet_link_clear_config(3), knet_log_get_loglevel(3),
126 knet_handle_new(3), knet_handle_pmtud_getfreq(3),
127 knet_handle_pmtud_set(3), knet_handle_clear_stats(3),
128 knet_link_set_config(3), knet_handle_crypto_set_config(3),
129 knet_handle_crypto(3), knet_get_crypto_list(3),
130 knet_handle_set_transport_reconnect_interval(3),
131 knet_link_clear_acl(3), knet_link_set_ping_timers(3),
132 knet_link_insert_acl(3)
133
135 Copyright (C) 2010-2023 Red Hat, Inc. All rights reserved.
136
137
138
139kronosnet 2023-09-27 KNET_HANDLE_GET_STATS(3)