diff --git a/source/server/admin/stats_handler.cc b/source/server/admin/stats_handler.cc index 0a3c4a5ea0d01..929e9474587dd 100644 --- a/source/server/admin/stats_handler.cc +++ b/source/server/admin/stats_handler.cc @@ -82,6 +82,11 @@ Http::Code StatsHandler::handlerStats(absl::string_view url, return Http::Code::BadRequest; } + const absl::optional format_value = Utility::formatParam(params); + if (format_value.has_value() && format_value.value() == "prometheus") { + return handlerPrometheusStats(url, response_headers, response, admin_stream); + } + std::map all_stats; for (const Stats::CounterSharedPtr& counter : server_.stats().counters()) { if (shouldShowMetric(*counter, used_only, regex)) { @@ -103,7 +108,6 @@ Http::Code StatsHandler::handlerStats(absl::string_view url, } } - absl::optional format_value = Utility::formatParam(params); if (!format_value.has_value()) { // Display plain stats if format query param is not there. statsAsText(all_stats, text_readouts, server_.stats().histograms(), used_only, regex, response); @@ -117,10 +121,6 @@ Http::Code StatsHandler::handlerStats(absl::string_view url, return Http::Code::OK; } - if (format_value.value() == "prometheus") { - return handlerPrometheusStats(url, response_headers, response, admin_stream); - } - response.add("usage: /stats?format=json or /stats?format=prometheus \n"); response.add("\n"); return Http::Code::NotFound;