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, \
}