mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-06 13:04:58 -05:00
36 lines
1.2 KiB
Rust
36 lines
1.2 KiB
Rust
//! This exposes reth's version information over prometheus.
|
|
use metrics::gauge;
|
|
|
|
/// Contains version information for the application.
|
|
#[derive(Debug, Clone)]
|
|
pub struct VersionInfo {
|
|
/// The version of the application.
|
|
pub version: &'static str,
|
|
/// The build timestamp of the application.
|
|
pub build_timestamp: &'static str,
|
|
/// The cargo features enabled for the build.
|
|
pub cargo_features: &'static str,
|
|
/// The Git SHA of the build.
|
|
pub git_sha: &'static str,
|
|
/// The target triple for the build.
|
|
pub target_triple: &'static str,
|
|
/// The build profile (e.g., debug or release).
|
|
pub build_profile: &'static str,
|
|
}
|
|
|
|
impl VersionInfo {
|
|
/// This exposes reth's version information over prometheus.
|
|
pub fn register_version_metrics(&self) {
|
|
let labels: [(&str, &str); 6] = [
|
|
("version", self.version),
|
|
("build_timestamp", self.build_timestamp),
|
|
("cargo_features", self.cargo_features),
|
|
("git_sha", self.git_sha),
|
|
("target_triple", self.target_triple),
|
|
("build_profile", self.build_profile),
|
|
];
|
|
|
|
let _gauge = gauge!("info", &labels);
|
|
}
|
|
}
|