diff --git a/lez/sequencer/core/metrics/src/record.rs b/lez/sequencer/core/metrics/src/record.rs index 1f6131f6..59c9087a 100644 --- a/lez/sequencer/core/metrics/src/record.rs +++ b/lez/sequencer/core/metrics/src/record.rs @@ -6,18 +6,36 @@ use std::time::Duration; -use common::transaction::TxKind; use metrics::{Counter, Histogram, Unit, counter, gauge, histogram}; use strum::IntoEnumIterator as _; use crate::names; -#[derive(Clone, Copy, strum::IntoStaticStr, strum::EnumIter)] +#[derive(Debug, Clone, Copy, strum::IntoStaticStr, strum::EnumIter)] +#[strum(serialize_all = "snake_case")] pub enum TransactionOrigin { User, Sequencer, } +#[derive(Debug, Clone, Copy, strum::IntoStaticStr, strum::EnumIter)] +#[strum(serialize_all = "snake_case")] +pub enum TxKind { + Public, + PrivacyPreserving, + ProgramDeployment, +} + +impl From for TxKind { + fn from(kind: common::transaction::TxKind) -> Self { + match kind { + common::transaction::TxKind::Public => Self::Public, + common::transaction::TxKind::PrivacyPreserving => Self::PrivacyPreserving, + common::transaction::TxKind::ProgramDeployment => Self::ProgramDeployment, + } + } +} + /// Initialize metrics. pub fn init() { blocks_total_counter().increment(0); diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index ca079ab7..1769a8a7 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -898,7 +898,7 @@ impl SequencerCore { ); sequencer_core_metrics::record_mempool_transaction_application_time( origin.into(), - tx.kind(), + tx.kind().into(), before_tx_apply.elapsed(), ); diff --git a/lez/sequencer/service/metrics/src/lib.rs b/lez/sequencer/service/metrics/src/lib.rs index b8884fa2..f375ff1b 100644 --- a/lez/sequencer/service/metrics/src/lib.rs +++ b/lez/sequencer/service/metrics/src/lib.rs @@ -1,4 +1,4 @@ -//! This crate provides all metrics exposed by the sequencer core crate. +//! This crate provides all metrics exposed by the sequencer service crate. #[cfg(feature = "record")] pub use record::*;