public async Task <ActionResult> GetMetrics() { var formatter = new App.Metrics.Formatters.Prometheus.MetricsPrometheusTextOutputFormatter(); var snapshot = MvcMetrics.GetMetrics().Snapshot.Get(); using (var ms = new MemoryStream()) { await formatter.WriteAsync(ms, snapshot); var result = Encoding.UTF8.GetString(ms.ToArray()); return(Content(result, formatter.MediaType.ContentType, Encoding.UTF8)); } }
public async Task <HttpResponseMessage> GetMetricsAsync() { var formatter = new App.Metrics.Formatters.Prometheus.MetricsPrometheusTextOutputFormatter(); var snapshot = ApiMetrics.GetMetrics().Snapshot.Get(); using (var ms = new MemoryStream()) { await formatter.WriteAsync(ms, snapshot); var result = Encoding.UTF8.GetString(ms.ToArray()); var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(result, Encoding.UTF8, formatter.MediaType.ContentType); return(response); } }