diff --git a/Cargo.lock b/Cargo.lock index cd315d7998..df06ede090 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3118,6 +3118,7 @@ dependencies = [ "meta-srv", "meter-core", "meter-macros", + "metrics", "mito", "moka 0.9.7", "object-store", diff --git a/src/frontend/Cargo.toml b/src/frontend/Cargo.toml index 64351240d3..71828fbec5 100644 --- a/src/frontend/Cargo.toml +++ b/src/frontend/Cargo.toml @@ -41,6 +41,7 @@ itertools = "0.10" meta-client = { path = "../meta-client" } meter-core.workspace = true meter-macros.workspace = true +metrics.workspace = true mito = { path = "../mito", features = ["test"] } moka = { version = "0.9", features = ["future"] } object-store = { path = "../object-store" } diff --git a/src/frontend/src/metrics.rs b/src/frontend/src/metrics.rs index 43c694d425..508699e840 100644 --- a/src/frontend/src/metrics.rs +++ b/src/frontend/src/metrics.rs @@ -21,3 +21,4 @@ pub(crate) const METRIC_RUN_SCRIPT_ELAPSED: &str = "frontend.run_script_elapsed" pub const DIST_CREATE_TABLE: &str = "frontend.dist.create_table"; pub const DIST_CREATE_TABLE_IN_META: &str = "frontend.dist.create_table.update_meta"; pub const DIST_CREATE_TABLE_IN_DATANODE: &str = "frontend.dist.create_table.invoke_datanode"; +pub const DIST_INGEST_ROW_COUNT: &str = "frontend.dist.ingest_rows"; diff --git a/src/frontend/src/table/insert.rs b/src/frontend/src/table/insert.rs index 18f73766a9..3edce8c004 100644 --- a/src/frontend/src/table/insert.rs +++ b/src/frontend/src/table/insert.rs @@ -20,6 +20,7 @@ use api::v1::{Column, InsertRequest as GrpcInsertRequest}; use common_query::Output; use datatypes::prelude::{ConcreteDataType, VectorRef}; use futures::future; +use metrics::counter; use snafu::{ensure, ResultExt}; use store_api::storage::RegionNumber; use table::requests::InsertRequest; @@ -47,6 +48,7 @@ impl DistTable { .context(JoinTaskSnafu)?; let affected_rows = results.into_iter().sum::>()?; + counter!(crate::metrics::DIST_INGEST_ROW_COUNT, affected_rows as u64); Ok(Output::AffectedRows(affected_rows as _)) } }