chore: add a uniform prefix to the metrics using the official recommendation of (#1590)

This commit is contained in:
localhost
2023-05-17 11:08:49 +08:00
committed by GitHub
parent e70d49b9cf
commit a6ec79ee30
3 changed files with 25 additions and 8 deletions

View File

@@ -12,7 +12,8 @@ deadlock_detection = ["parking_lot"]
backtrace = "0.3"
common-error = { path = "../error" }
console-subscriber = { version = "0.1", optional = true }
metrics-exporter-prometheus = { git = "https://github.com/GreptimeTeam/metrics.git", rev = "174de287e9f7f9f57c0272be56c95df156489476", default-features = false }
metrics-exporter-prometheus = { version = "0.11", default-features = false }
metrics-util = "0.14.0"
metrics.workspace = true
once_cell = "1.10"
opentelemetry = { version = "0.17", default-features = false, features = [

View File

@@ -20,6 +20,7 @@ use std::time::{Duration, Instant};
use metrics::histogram;
use metrics_exporter_prometheus::PrometheusBuilder;
pub use metrics_exporter_prometheus::PrometheusHandle;
use metrics_util::layers::{Layer, PrefixLayer};
use once_cell::sync::Lazy;
static PROMETHEUS_HANDLE: Lazy<Arc<RwLock<Option<PrometheusHandle>>>> =
@@ -32,9 +33,7 @@ pub fn init_default_metrics_recorder() {
/// Init prometheus recorder.
fn init_prometheus_recorder() {
let recorder = PrometheusBuilder::new()
.add_global_prefix("greptime".to_string())
.build_recorder();
let recorder = PrometheusBuilder::new().build_recorder();
let mut h = PROMETHEUS_HANDLE.as_ref().write().unwrap();
*h = Some(recorder.handle());
// TODO(LFC): separate metrics for testing and metrics for production
@@ -47,7 +46,9 @@ fn init_prometheus_recorder() {
unsafe {
metrics::clear_recorder();
}
match metrics::set_boxed_recorder(Box::new(recorder)) {
let layer = PrefixLayer::new("greptime");
let layered = layer.layer(recorder);
match metrics::set_boxed_recorder(Box::new(layered)) {
Ok(_) => (),
Err(err) => crate::warn!("Install prometheus recorder failed, cause: {}", err),
};