1use lazy_static::lazy_static;
16use prometheus::*;
17
18lazy_static! {
19 pub static ref GRPC_HANDLE_QUERY_ELAPSED: HistogramVec = register_histogram_vec!(
21 "greptime_frontend_grpc_handle_query_elapsed",
22 "Elapsed time of handling queries in RPC handler",
23 &["type"],
24 vec![0.005, 0.01, 0.05, 0.1, 0.5, 1.0, 5.0, 10.0, 60.0, 300.0]
25 )
26 .unwrap();
27 pub static ref GRPC_HANDLE_SQL_ELAPSED: Histogram = GRPC_HANDLE_QUERY_ELAPSED
28 .with_label_values(&["sql"]);
29 pub static ref GRPC_HANDLE_PLAN_ELAPSED: Histogram = GRPC_HANDLE_QUERY_ELAPSED
30 .with_label_values(&["plan"]);
31 pub static ref GRPC_HANDLE_PROMQL_ELAPSED: Histogram = GRPC_HANDLE_QUERY_ELAPSED
32 .with_label_values(&["promql"]);
33
34 pub static ref PROMQL_QUERY_METRICS_ELAPSED: HistogramVec = register_histogram_vec!(
35 "greptime_frontend_promql_query_metrics_elapsed",
36 "frontend promql query metric names elapsed",
37 &["db"]
38 )
39 .unwrap();
40
41 pub static ref OTLP_METRICS_ROWS: IntCounter = register_int_counter!(
43 "greptime_frontend_otlp_metrics_rows",
44 "frontend otlp metrics rows"
45 )
46 .unwrap();
47
48 pub static ref OTLP_TRACES_ROWS: IntCounter = register_int_counter!(
50 "greptime_frontend_otlp_traces_rows",
51 "frontend otlp traces rows"
52 )
53 .unwrap();
54
55 pub static ref OTLP_TRACES_FAILURE_COUNT: IntCounterVec = register_int_counter_vec!(
57 "greptime_frontend_otlp_traces_failure_count",
58 "frontend otlp trace ingest failure count",
59 &["label"]
60 )
61 .unwrap();
62
63 pub static ref OTLP_LOGS_ROWS: IntCounter = register_int_counter!(
65 "greptime_frontend_otlp_logs_rows",
66 "frontend otlp logs rows"
67 )
68 .unwrap();
69
70 pub static ref HEARTBEAT_SENT_COUNT: IntCounter = register_int_counter!(
72 "greptime_frontend_heartbeat_send_count",
73 "frontend heartbeat sent",
74 )
75 .unwrap();
76 pub static ref HEARTBEAT_RECV_COUNT: IntCounterVec = register_int_counter_vec!(
78 "greptime_frontend_heartbeat_recv_count",
79 "frontend heartbeat received",
80 &["result"]
81 )
82 .unwrap();
83}