From dce9811cbd8e24ea6481eaeb12df2c95b3186295 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Thu, 10 Aug 2023 00:05:00 +0200 Subject: [PATCH] Add prometheus --- Cargo.toml | 2 ++ src/main.rs | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 642ac3f..26be369 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,3 +20,5 @@ sentry = "0.31.5" async-tempfile = "0.4.0" uuid = "1.4.1" + +axum-prometheus = "0.4.0" diff --git a/src/main.rs b/src/main.rs index 385db1d..d2006d2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ use std::{net::SocketAddr, time::SystemTime}; -use axum::{Router, routing::post, extract::Multipart, response::{IntoResponse, AppendHeaders}, http::{StatusCode, header}, body::StreamBody}; +use axum::{Router, routing::{post, get}, extract::Multipart, response::{IntoResponse, AppendHeaders}, http::{StatusCode, header}, body::StreamBody}; +use axum_prometheus::PrometheusMetricLayer; use tokio::{fs::{remove_file, read_dir, remove_dir, File}, io::{AsyncWriteExt, copy}, process::Command}; use tracing::{info, log}; use async_tempfile::TempFile; @@ -160,8 +161,11 @@ async fn convert_file( fn get_router() -> Router { + let (prometheus_layer, metric_handle) = PrometheusMetricLayer::pair(); + Router::new() .route("/", post(convert_file)) + .route("/metrics", get(|| async move { metric_handle.render() })) }