diff --git a/src/dumpstats.c b/src/dumpstats.c index 623d7ac5e..3e82ceb60 100644 --- a/src/dumpstats.c +++ b/src/dumpstats.c @@ -396,6 +396,9 @@ const char *stat_field_names[ST_F_TOTAL_FIELDS] = { [ST_F_TTIME] = "ttime", }; +/* one line of stats */ +static struct field stats[ST_F_TOTAL_FIELDS]; + static int stats_dump_backend_to_buffer(struct stream_interface *si); static int stats_dump_env_to_buffer(struct stream_interface *si); static int stats_dump_info_to_buffer(struct stream_interface *si); @@ -3204,6 +3207,21 @@ static int stats_dump_pools_to_buffer(struct stream_interface *si) return 1; } +/* Dump all fields from into using CSV format */ +static int stats_dump_fields_csv(struct chunk *out, const struct field *stats) +{ + int field; + + for (field = 0; field < ST_F_TOTAL_FIELDS; field++) { + if (!stats_emit_raw_data_field(out, &stats[field])) + return 0; + if (!chunk_strcat(out, ",")) + return 0; + } + chunk_strcat(&trash, "\n"); + return 1; +} + /* Dumps a frontend's line to the trash for the current proxy and uses * the state from stream interface . The caller is responsible for clearing * the trash if needed. Returns non-zero if it emits anything, zero otherwise.