From d04843167c5ab2367d1e98ce265e3d8b33562d43 Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Tue, 8 Apr 2025 11:56:23 +0200 Subject: [PATCH] MINOR: stats: add stat_col flags Add stat_col flags member to store .generic bit and prepare for upcoming flags. No functional change expected. --- include/haproxy/stats-t.h | 8 ++++++-- include/haproxy/stats.h | 2 +- src/stats-proxy.c | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/haproxy/stats-t.h b/include/haproxy/stats-t.h index 14a822d92..7a320c921 100644 --- a/include/haproxy/stats-t.h +++ b/include/haproxy/stats-t.h @@ -342,6 +342,10 @@ enum stat_idx_info { ST_I_INF_MAX }; +/* Flags for stat_col.flags */ +#define STAT_COL_FL_NONE 0x00 +#define STAT_COL_FL_GENERIC 0x01 /* stat is generic if set */ + /* Represent an exposed statistic. */ struct stat_col { const char *name; /* short name, used notably in CSV headers */ @@ -350,8 +354,8 @@ struct stat_col { uint32_t type; /* combination of field_nature and field_format */ uint8_t cap; /* mask of stats_domain_px_cap to restrain metrics to an object types subset */ - uint8_t generic; /* bit set if generic */ - /* 2 bytes hole */ + /* 1 byte hole */ + uint16_t flags; /* STAT_COL_FL_* flags */ /* used only for generic metrics */ struct { diff --git a/include/haproxy/stats.h b/include/haproxy/stats.h index f292ba4dd..b7895be2b 100644 --- a/include/haproxy/stats.h +++ b/include/haproxy/stats.h @@ -79,7 +79,7 @@ int stats_emit_field_tags(struct buffer *out, const struct field *f, /* Returns true if is fully defined, false if only used as name-desc. */ static inline int stcol_is_generic(const struct stat_col *col) { - return col->generic; + return col->flags & STAT_COL_FL_GENERIC; } static inline enum field_format stcol_format(const struct stat_col *col) diff --git a/src/stats-proxy.c b/src/stats-proxy.c index 6e4ad4649..90d82f0e9 100644 --- a/src/stats-proxy.c +++ b/src/stats-proxy.c @@ -25,7 +25,7 @@ .metric.offset[0] = offsetof(struct fe_counters, offset_f), \ .metric.offset[1] = offsetof(struct be_counters, offset_f), \ .cap = (cap_f), \ - .generic = 1, \ + .flags = STAT_COL_FL_GENERIC, \ .alt_name = alt_n, \ } @@ -34,7 +34,7 @@ { .name = (name_f), .desc = (desc_f), .type = (nature)|(format), \ .metric.offset[0] = offsetof(struct fe_counters, offset_f), \ .cap = (cap_f), \ - .generic = 1, \ + .flags = STAT_COL_FL_GENERIC, \ .alt_name = alt_n, \ } @@ -43,7 +43,7 @@ { .name = (name_f), .desc = (desc_f), .type = (nature)|(format), \ .metric.offset[1] = offsetof(struct be_counters, offset_f), \ .cap = (cap_f), \ - .generic = 1, \ + .flags = STAT_COL_FL_GENERIC, \ .alt_name = alt_n, \ }