mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-25 13:36:50 +00:00
4559baaeeb
- Remove reed-solomon-erasure dependency and all related code - Simplify ReedSolomonEncoder from enum to struct with SIMD-only implementation - Eliminate all conditional compilation (#[cfg(feature = ...)]) - Add instance caching with RwLock-based encoder/decoder reuse - Implement reset mechanism to avoid unnecessary allocations - Ensure thread safety with proper cache management - Update documentation and benchmark scripts for SIMD-only approach - Apply code formatting across all files Breaking Changes: - Removes support for reed-solomon-erasure feature flag - API remains compatible but implementation is now SIMD-only Performance Impact: - Improved encoding/decoding performance through SIMD optimization - Reduced memory allocations via instance caching - Enhanced thread safety and concurrency support
98 lines
3.6 KiB
Rust
98 lines
3.6 KiB
Rust
/// Erasure code set related metric descriptors
|
|
use crate::metrics::{MetricDescriptor, MetricName, new_gauge_md, subsystems};
|
|
|
|
/// The label for the pool ID
|
|
pub const POOL_ID_L: &str = "pool_id";
|
|
/// The label for the pool ID
|
|
pub const SET_ID_L: &str = "set_id";
|
|
|
|
lazy_static::lazy_static! {
|
|
pub static ref ERASURE_SET_OVERALL_WRITE_QUORUM_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetOverallWriteQuorum,
|
|
"Overall write quorum across pools and sets",
|
|
&[],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_OVERALL_HEALTH_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetOverallHealth,
|
|
"Overall health across pools and sets (1=healthy, 0=unhealthy)",
|
|
&[],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_READ_QUORUM_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetReadQuorum,
|
|
"Read quorum for the erasure set in a pool",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_WRITE_QUORUM_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetWriteQuorum,
|
|
"Write quorum for the erasure set in a pool",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_ONLINE_DRIVES_COUNT_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetOnlineDrivesCount,
|
|
"Count of online drives in the erasure set in a pool",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_HEALING_DRIVES_COUNT_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetHealingDrivesCount,
|
|
"Count of healing drives in the erasure set in a pool",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_HEALTH_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetHealth,
|
|
"Health of the erasure set in a pool (1=healthy, 0=unhealthy)",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_READ_TOLERANCE_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetReadTolerance,
|
|
"No of drive failures that can be tolerated without disrupting read operations",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_WRITE_TOLERANCE_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetWriteTolerance,
|
|
"No of drive failures that can be tolerated without disrupting write operations",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_READ_HEALTH_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetReadHealth,
|
|
"Health of the erasure set in a pool for read operations (1=healthy, 0=unhealthy)",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
|
|
pub static ref ERASURE_SET_WRITE_HEALTH_MD: MetricDescriptor =
|
|
new_gauge_md(
|
|
MetricName::ErasureSetWriteHealth,
|
|
"Health of the erasure set in a pool for write operations (1=healthy, 0=unhealthy)",
|
|
&[POOL_ID_L, SET_ID_L],
|
|
subsystems::CLUSTER_ERASURE_SET
|
|
);
|
|
}
|