summaryrefslogtreecommitdiff
path: root/src/ot_stats.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ot_stats.h')
-rw-r--r--src/ot_stats.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/ot_stats.h b/src/ot_stats.h
new file mode 100644
index 0000000..45a547e
--- /dev/null
+++ b/src/ot_stats.h
@@ -0,0 +1,40 @@
1/* This software was written by Dirk Engling <erdgeist@erdgeist.org>
2 It is considered beerware. Prost. Skol. Cheers or whatever. */
3
4#ifndef OT_STATS_H__
5#define OT_STATS_H__
6
7#include "trackerlogic.h"
8
9typedef enum {
10 EVENT_ACCEPT,
11 EVENT_READ,
12 EVENT_CONNECT, /* UDP only */
13 EVENT_ANNOUNCE,
14 EVENT_COMPLETED,
15 EVENT_RENEW,
16 EVENT_SYNC,
17 EVENT_SCRAPE,
18 EVENT_FULLSCRAPE_REQUEST,
19 EVENT_FULLSCRAPE_REQUEST_GZIP,
20 EVENT_FULLSCRAPE_REQUEST_ZSTD,
21 EVENT_FULLSCRAPE, /* TCP only */
22 EVENT_FAILED,
23 EVENT_BUCKET_LOCKED,
24 EVENT_WOODPECKER,
25 EVENT_CONNID_MISSMATCH
26} ot_status_event;
27
28void stats_counters_register(struct ot_workstruct *ws);
29void stats_counters_retire(struct ot_workstruct *ws);
30
31void stats_issue_event(struct ot_workstruct *ws, ot_status_event event, PROTO_FLAG proto, uintptr_t event_data);
32void stats_deliver(int64_t sock, int tasktype);
33void stats_cleanup(void);
34void return_stats_for_tracker(char **reply, const char *reply_end, int mode, int format);
35void stats_return_tracker_version(char **reply, const char *reply_end);
36void stats_return_tracker_features(char **reply, const char *reply_end);
37void stats_init(void);
38void stats_deinit(void);
39
40#endif