From 5ef430b8d8d390c904440043f6a8d8bb83b68507 Mon Sep 17 00:00:00 2001 From: Max Inden Date: Thu, 7 Oct 2021 14:07:25 +0200 Subject: [PATCH] misc/metrics/examples: Set openmetrics-text content-type (#2278) Set "openmetrics-text" content type on HTTP GET response. Makes sure Prometheus server parses returned metrics via OpenMetrics format instead of legacy Prometheus format. --- misc/metrics/examples/metrics.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/misc/metrics/examples/metrics.rs b/misc/metrics/examples/metrics.rs index f7ad8cf0..3671664a 100644 --- a/misc/metrics/examples/metrics.rs +++ b/misc/metrics/examples/metrics.rs @@ -106,7 +106,11 @@ pub async fn metrics_server(registry: Registry) -> std::result::Result<(), std:: .get(|req: tide::Request>>| async move { let mut encoded = Vec::new(); encode(&mut encoded, &req.state().lock().unwrap()).unwrap(); - Ok(String::from_utf8(encoded).unwrap()) + let response = tide::Response::builder(200) + .body(encoded) + .content_type("application/openmetrics-text; version=1.0.0; charset=utf-8") + .build(); + Ok(response) }); app.listen("0.0.0.0:0").await?;