]> arthur.barton.de Git - netdata.git/blob - src/global_statistics.h
Merge pull request #1998 from ktsaou/master
[netdata.git] / src / global_statistics.h
1 #ifndef NETDATA_GLOBAL_STATISTICS_H
2 #define NETDATA_GLOBAL_STATISTICS_H 1
3
4 // ----------------------------------------------------------------------------
5 // global statistics
6
7 struct global_statistics {
8     volatile uint16_t connected_clients;
9
10     volatile uint64_t web_requests;
11     volatile uint64_t web_usec;
12     volatile uint64_t web_usec_max;
13     volatile uint64_t bytes_received;
14     volatile uint64_t bytes_sent;
15     volatile uint64_t content_size;
16     volatile uint64_t compressed_content_size;
17 };
18
19 extern volatile struct global_statistics global_statistics;
20
21 extern void global_statistics_lock(void);
22 extern void global_statistics_unlock(void);
23 extern void finished_web_request_statistics(uint64_t dt,
24                                      uint64_t bytes_received,
25                                      uint64_t bytes_sent,
26                                      uint64_t content_size,
27                                      uint64_t compressed_content_size);
28
29 extern void web_client_connected(void);
30 extern void web_client_disconnected(void);
31
32 #define GLOBAL_STATS_RESET_WEB_USEC_MAX 0x01
33 extern void global_statistics_copy(struct global_statistics *gs, uint8_t options);
34 extern void global_statistics_charts(void);
35
36 #endif /* NETDATA_GLOBAL_STATISTICS_H */