Line data Source code
1 : #ifndef HEADER_fd_src_disco_metrics_generated_fd_metrics_sample_gen_h 2 : #define HEADER_fd_src_disco_metrics_generated_fd_metrics_sample_gen_h 3 : 4 : /* THIS FILE IS GENERATED BY gen_metrics.py. DO NOT HAND EDIT. */ 5 : 6 : #include "../../../util/fd_util_base.h" 7 : 8 : /* How a metric slot is encoded */ 9 : 10 0 : #define FD_METRICS_SAMPLE_U64 (0) /* uint64 */ 11 0 : #define FD_METRICS_SAMPLE_NS (1) /* ticks, as uint64 nanoseconds */ 12 0 : #define FD_METRICS_SAMPLE_BOOL (2) /* bool */ 13 0 : #define FD_METRICS_SAMPLE_STATE (3) /* raw state, as its proto enum number via map */ 14 0 : #define FD_METRICS_SAMPLE_OPEN (4) /* opens the Tuple submessage num */ 15 0 : #define FD_METRICS_SAMPLE_CLOSE (5) /* closes it */ 16 : 17 : /* Field numbers of the sample fields, the same in every metrics schema */ 18 : 19 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_ID (1U) 20 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_REASON (2U) 21 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_SLOT (3U) 22 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_SNAPCT_STATE (4U) 23 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_CAUGHT_UP (5U) 24 0 : #define FD_METRICS_SAMPLE_F_SAMPLE_TILE_CNT (6U) 25 0 : #define FD_METRICS_SAMPLE_F_KIND_ID (7U) 26 0 : #define FD_METRICS_SAMPLE_F_TILE (8U) 27 0 : #define FD_METRICS_SAMPLE_F_LINK (9U) 28 0 : #define FD_METRICS_SAMPLE_F_LINK_IDX (10U) 29 : 30 : /* MetricsSampleReason proto enum numbers */ 31 : 32 0 : #define FD_METRICS_SAMPLE_REASON_PERIODIC (1U) 33 0 : #define FD_METRICS_SAMPLE_REASON_LEADER_START (2U) 34 0 : #define FD_METRICS_SAMPLE_REASON_LEADER_END (3U) 35 0 : #define FD_METRICS_SAMPLE_REASON_LEADER_END_START (4U) 36 0 : #define FD_METRICS_SAMPLE_REASON_SNAPCT_STATE (5U) 37 0 : #define FD_METRICS_SAMPLE_REASON_REPLAY_READY (6U) 38 0 : #define FD_METRICS_SAMPLE_REASON_CAUGHT_UP (7U) 39 : 40 : struct fd_metrics_sample_field { 41 : ulong off; /* metrics slot */ 42 : uint num; /* proto field number */ 43 : uint kind; /* FD_METRICS_SAMPLE_* */ 44 : uint const * map; /* STATE: raw value -> proto enum number */ 45 : ulong map_cnt; 46 : }; 47 : 48 : typedef struct fd_metrics_sample_field fd_metrics_sample_field_t; 49 : 50 : struct fd_metrics_sample_schema { 51 : char const * tile; /* tile name, NULL ends the list */ 52 : uint id; /* Event oneof field number */ 53 : fd_metrics_sample_field_t const * field; 54 : ulong field_cnt; 55 : ulong buf_max; /* worst-case encoded event */ 56 : }; 57 : 58 : typedef struct fd_metrics_sample_schema fd_metrics_sample_schema_t; 59 : 60 : /* One schema per telemetry tile kind, NULL-terminated */ 61 : 62 : extern fd_metrics_sample_schema_t const fd_metrics_sample_tiles[]; 63 : 64 : /* Tile kinds with telemetry="false": not sampled on purpose, NULL-terminated */ 65 : 66 : extern char const * const fd_metrics_sample_skip[]; 67 : extern fd_metrics_sample_schema_t const fd_metrics_sample_link; 68 : 69 : /* Raw snapct LoadState -> MetricsSnapctLoadState proto enum number */ 70 : 71 0 : #define FD_METRICS_SAMPLE_SNAPCT_STATE_CNT (22UL) 72 : extern uint const fd_metrics_sample_snapct_state[ FD_METRICS_SAMPLE_SNAPCT_STATE_CNT ]; 73 : 74 : #endif /* HEADER_fd_src_disco_metrics_generated_fd_metrics_sample_gen_h */