26 lines
1.1 KiB
C
26 lines
1.1 KiB
C
|
|
#ifndef RPROXY_MONITOR_H
|
||
|
|
#define RPROXY_MONITOR_H
|
||
|
|
|
||
|
|
#include "types.h"
|
||
|
|
|
||
|
|
extern system_monitor_t monitor;
|
||
|
|
|
||
|
|
void monitor_init(const char *db_file);
|
||
|
|
void monitor_cleanup(void);
|
||
|
|
void monitor_update(void);
|
||
|
|
vhost_stats_t* monitor_get_or_create_vhost_stats(const char *vhost_name);
|
||
|
|
void monitor_record_request_start(vhost_stats_t *stats, int is_websocket);
|
||
|
|
void monitor_record_request_end(vhost_stats_t *stats, double start_time);
|
||
|
|
void monitor_record_bytes(vhost_stats_t *stats, long long sent, long long recv);
|
||
|
|
|
||
|
|
void history_deque_init(history_deque_t *dq, int capacity);
|
||
|
|
void history_deque_push(history_deque_t *dq, double time, double value);
|
||
|
|
void network_history_deque_init(network_history_deque_t *dq, int capacity);
|
||
|
|
void network_history_deque_push(network_history_deque_t *dq, double time, double rx, double tx);
|
||
|
|
void disk_history_deque_init(disk_history_deque_t *dq, int capacity);
|
||
|
|
void disk_history_deque_push(disk_history_deque_t *dq, double time, double read_mbps, double write_mbps);
|
||
|
|
void request_time_deque_init(request_time_deque_t *dq, int capacity);
|
||
|
|
void request_time_deque_push(request_time_deque_t *dq, double time_ms);
|
||
|
|
|
||
|
|
#endif
|